On Thu, Jul 11, 2019 at 2:32 AM Paolo Pisati p.pisati@gmail.com wrote:
From: Paolo Pisati paolo.pisati@canonical.com
After applying patch 0001, all checksum implementations i could test (x86-64, arm64 and arm), now agree on the return value.
Patch 0002 fix the expected return value for test #13: i did the calculation manually, and it correspond.
Unfortunately, after applying patch 0001, other test cases now fail in test_verifier:
$ sudo ./tools/testing/selftests/bpf/test_verifier ... #417/p helper access to variable memory: size = 0 allowed on NULL (ARG_PTR_TO_MEM_OR_NULL) FAIL retval 65535 != 0 #419/p helper access to variable memory: size = 0 allowed on != NULL stack pointer (ARG_PTR_TO_MEM_OR_NULL) FAIL retval 65535 != 0 #423/p helper access to variable memory: size possible = 0 allowed on != NULL packet pointer (ARG_PTR_TO_MEM_OR_NULL) FAIL retval 65535 != 0
I'm not entirely sure this fix is correct, given these failures, to be honest.
Let's wait for someone who understands intended semantics for bpf_csum_diff, before changing returned value so drastically.
But in any case, fixes for these test failures should be in your patch series as well.
... Summary: 1500 PASSED, 0 SKIPPED, 3 FAILED
And there are probably other fallouts in other selftests - someone familiar should take a look before applying these patches.
Paolo Pisati (2): bpf: bpf_csum_diff: fold the checksum before returning the value bpf, selftest: fix checksum value for test #13
net/core/filter.c | 2 +- tools/testing/selftests/bpf/verifier/array_access.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
-- 2.17.1