On Fri, Feb 25, 2022 at 12:13 PM -08, Martin KaFai Lau wrote: > On Fri, Feb 25, 2022 at 07:41:30PM +0100, Jakub Sitnicki wrote: >> The helper macro that records an error in BPF programs that exercise sock >> fields access has been indavertedly broken by adaptation work that happened >> in commit b18c1f0aa477 ("bpf: selftest: Adapt sock_fields test to use skel >> and global variables"). >> >> BPF_NOEXIST flag cannot be used to update BPF_MAP_TYPE_ARRAY. The operation >> always fails with -EEXIST, which in turn means the error never gets >> recorded, and the checks for errors always pass. >> >> Revert the change in update flags. >> >> Fixes: b18c1f0aa477 ("bpf: selftest: Adapt sock_fields test to use skel and global variables") >> Signed-off-by: Jakub Sitnicki <jakub@xxxxxxxxxxxxxx> >> --- >> tools/testing/selftests/bpf/progs/test_sock_fields.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/tools/testing/selftests/bpf/progs/test_sock_fields.c b/tools/testing/selftests/bpf/progs/test_sock_fields.c >> index 246f1f001813..3e2e3ee51cc9 100644 >> --- a/tools/testing/selftests/bpf/progs/test_sock_fields.c >> +++ b/tools/testing/selftests/bpf/progs/test_sock_fields.c >> @@ -114,7 +114,7 @@ static void tpcpy(struct bpf_tcp_sock *dst, >> >> #define RET_LOG() ({ \ >> linum = __LINE__; \ >> - bpf_map_update_elem(&linum_map, &linum_idx, &linum, BPF_NOEXIST); \ >> + bpf_map_update_elem(&linum_map, &linum_idx, &linum, BPF_ANY); \ > Acked-by: Martin KaFai Lau <kafai@xxxxxx> Thanks for the quick review. I need to follow up with a v2. Was too quick to send this patch out by itself. Now that the error reporting works, the test sock_fields tests are failing on little- and big-endian.