diff --git a/internal/errors.go b/internal/errors.go index f1e85288b..b5ccdd7d0 100644 --- a/internal/errors.go +++ b/internal/errors.go @@ -128,6 +128,13 @@ func includePreviousLine(line string) bool { return true } + if strings.HasPrefix(line, "invalid bpf_context access") { + // 0: (79) r6 = *(u64 *)(r1 +0) + // func '__x64_sys_recvfrom' arg0 type FWD is not a struct + // invalid bpf_context access off=0 size=8 + return true + } + return false } diff --git a/internal/errors_test.go b/internal/errors_test.go index 691fff256..75721220d 100644 --- a/internal/errors_test.go +++ b/internal/errors_test.go @@ -73,6 +73,10 @@ func TestVerifierError(t *testing.T) { invalidR0 := readErrorFromFile(t, "testdata/invalid-R0.log") t.Log(invalidR0) qt.Assert(t, invalidR0.Error(), qt.Contains, "0: (95) exit: R0 !read_ok") + + invalidCtx := readErrorFromFile(t, "testdata/invalid-ctx-access.log") + t.Log(invalidCtx) + qt.Assert(t, invalidCtx.Error(), qt.Contains, "func '__x64_sys_recvfrom' arg0 type FWD is not a struct: invalid bpf_context access off=0 size=8") } func ExampleVerifierError() { diff --git a/internal/testdata/invalid-ctx-access.log b/internal/testdata/invalid-ctx-access.log new file mode 100644 index 000000000..802d958e1 Binary files /dev/null and b/internal/testdata/invalid-ctx-access.log differ