bpf: Selftests, add printk to test_sk_lookup_kern to encode null ptr check
authorJohn Fastabend <john.fastabend@gmail.com>
Thu, 21 May 2020 20:08:26 +0000 (13:08 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 22 May 2020 00:44:25 +0000 (17:44 -0700)
Adding a printk to test_sk_lookup_kern created the reported failure
where a pointer type is checked twice for NULL. Lets add it to the
progs test test_sk_lookup_kern.c so we test the case from C all the
way into the verifier.

We already have printk's in selftests so seems OK to add another one.

Signed-off-by: John Fastabend <john.fastabend@gmail.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Link: https://lore.kernel.org/bpf/159009170603.6313.1715279795045285176.stgit@john-Precision-5820-Tower
tools/testing/selftests/bpf/progs/test_sk_lookup_kern.c

index d2b38fa..e83d0b4 100644 (file)
@@ -73,6 +73,7 @@ int bpf_sk_lookup_test0(struct __sk_buff *skb)
 
        tuple_len = ipv4 ? sizeof(tuple->ipv4) : sizeof(tuple->ipv6);
        sk = bpf_sk_lookup_tcp(skb, tuple, tuple_len, BPF_F_CURRENT_NETNS, 0);
+       bpf_printk("sk=%d\n", sk ? 1 : 0);
        if (sk)
                bpf_sk_release(sk);
        return sk ? TC_ACT_OK : TC_ACT_UNSPEC;