On Thu, Jul 11, 2019 at 2:32 AM Paolo Pisati <p.pisati@xxxxxxxxx> wrote: > > From: Paolo Pisati <paolo.pisati@xxxxxxxxxxxxx> > > 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 >