[bpf] selftests/bpf: add missing pointer dereference for map stacktrace fixup

Message ID e569eb1296ed11bba05a12ff4b3bb91e70423793.1544156000.git.sdf@google.com
State Accepted
Delegated to: BPF Maintainers
Headers show
Series
  • [bpf] selftests/bpf: add missing pointer dereference for map stacktrace fixup
Related show

Commit Message

Stanislav Fomichev Dec. 7, 2018, 4:14 a.m.
I get a segfault without it, other fixups always do dereference, and
without dereference I don't understand how it can ever work.

Fixes: 7c85c448e7d74 ("selftests/bpf: test_verifier, check
bpf_map_lookup_elem access in bpf prog")

Signed-off-by: Stanislav Fomichev <sdf@google.com>
---
 tools/testing/selftests/bpf/test_verifier.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Prashant Bhole Dec. 7, 2018, 4:31 a.m. | #1
On 12/7/2018 1:14 PM, Stanislav Fomichev wrote:
> I get a segfault without it, other fixups always do dereference, and
> without dereference I don't understand how it can ever work.
> 
> Fixes: 7c85c448e7d74 ("selftests/bpf: test_verifier, check
> bpf_map_lookup_elem access in bpf prog")
> 
> Signed-off-by: Stanislav Fomichev <sdf@google.com>
> ---
>   tools/testing/selftests/bpf/test_verifier.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/testing/selftests/bpf/test_verifier.c b/tools/testing/selftests/bpf/test_verifier.c
> index df6f751cc1e8..d23929a1985d 100644
> --- a/tools/testing/selftests/bpf/test_verifier.c
> +++ b/tools/testing/selftests/bpf/test_verifier.c
> @@ -14166,7 +14166,7 @@ static void do_test_fixup(struct bpf_test *test, enum bpf_map_type prog_type,
>   		do {
>   			prog[*fixup_map_stacktrace].imm = map_fds[12];
>   			fixup_map_stacktrace++;
> -		} while (fixup_map_stacktrace);
> +		} while (*fixup_map_stacktrace);
>   	}
>   }

It was my mistake. Thanks for the fix!

-Prashant
Daniel Borkmann Dec. 10, 2018, 7:22 p.m. | #2
On 12/07/2018 05:14 AM, Stanislav Fomichev wrote:
> I get a segfault without it, other fixups always do dereference, and
> without dereference I don't understand how it can ever work.
> 
> Fixes: 7c85c448e7d74 ("selftests/bpf: test_verifier, check
> bpf_map_lookup_elem access in bpf prog")
> 
> Signed-off-by: Stanislav Fomichev <sdf@google.com>

Applied to bpf, thanks Stanislav!

Patch

diff --git a/tools/testing/selftests/bpf/test_verifier.c b/tools/testing/selftests/bpf/test_verifier.c
index df6f751cc1e8..d23929a1985d 100644
--- a/tools/testing/selftests/bpf/test_verifier.c
+++ b/tools/testing/selftests/bpf/test_verifier.c
@@ -14166,7 +14166,7 @@  static void do_test_fixup(struct bpf_test *test, enum bpf_map_type prog_type,
 		do {
 			prog[*fixup_map_stacktrace].imm = map_fds[12];
 			fixup_map_stacktrace++;
-		} while (fixup_map_stacktrace);
+		} while (*fixup_map_stacktrace);
 	}
 }