Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

bpf: selftests: Add sk_state to bpf_tcp_helpers.h

Add sk_state define to bpf_tcp_helpers.h. Rename the existing
global variable "sk_state" in the kfunc_call test to "sk_state_res".

Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20210824173013.3977316-1-kafai@fb.com

authored by

Martin KaFai Lau and committed by
Alexei Starovoitov
700dcf0f eb18b49e

+4 -3
+1
tools/testing/selftests/bpf/bpf_tcp_helpers.h
··· 31 31 32 32 struct sock { 33 33 struct sock_common __sk_common; 34 + #define sk_state __sk_common.skc_state 34 35 unsigned long sk_pacing_rate; 35 36 __u32 sk_pacing_status; /* see enum sk_pacing */ 36 37 } __attribute__((preserve_access_index));
+1 -1
tools/testing/selftests/bpf/prog_tests/kfunc_call.c
··· 44 44 ASSERT_OK(err, "bpf_prog_test_run(test1)"); 45 45 ASSERT_EQ(retval, 10, "test1-retval"); 46 46 ASSERT_NEQ(skel->data->active_res, -1, "active_res"); 47 - ASSERT_EQ(skel->data->sk_state, BPF_TCP_CLOSE, "sk_state"); 47 + ASSERT_EQ(skel->data->sk_state_res, BPF_TCP_CLOSE, "sk_state_res"); 48 48 49 49 kfunc_call_test_subprog__destroy(skel); 50 50 }
+2 -2
tools/testing/selftests/bpf/progs/kfunc_call_test_subprog.c
··· 9 9 __u32 c, __u64 d) __ksym; 10 10 extern struct sock *bpf_kfunc_call_test3(struct sock *sk) __ksym; 11 11 int active_res = -1; 12 - int sk_state = -1; 12 + int sk_state_res = -1; 13 13 14 14 int __noinline f1(struct __sk_buff *skb) 15 15 { ··· 28 28 if (active) 29 29 active_res = *active; 30 30 31 - sk_state = bpf_kfunc_call_test3((struct sock *)sk)->__sk_common.skc_state; 31 + sk_state_res = bpf_kfunc_call_test3((struct sock *)sk)->sk_state; 32 32 33 33 return (__u32)bpf_kfunc_call_test1((struct sock *)sk, 1, 2, 3, 4); 34 34 }