summaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/bpf/progs/skb_load_bytes.c
diff options
context:
space:
mode:
authorLiu Jian <liujian56@huawei.com>2022-04-16 18:58:01 +0800
committerDaniel Borkmann <daniel@iogearbox.net>2022-04-20 23:48:34 +0200
commit127e7dca427bc3e5d9a1c2071357e0f34be5c1d9 (patch)
treed9bfb1a211f121ae30aa37d753370fa79a690570 /tools/testing/selftests/bpf/progs/skb_load_bytes.c
parent92ece28072f18f30099770c5d4b8e300ea6820fa (diff)
downloadlinux-127e7dca427bc3e5d9a1c2071357e0f34be5c1d9.tar.bz2
selftests/bpf: Add test for skb_load_bytes
Use bpf_prog_test_run_opts to test the skb_load_bytes function. Tests the behavior when offset is greater than INT_MAX or a normal value. Signed-off-by: Liu Jian <liujian56@huawei.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Song Liu <songliubraving@fb.com> Link: https://lore.kernel.org/bpf/20220416105801.88708-4-liujian56@huawei.com
Diffstat (limited to 'tools/testing/selftests/bpf/progs/skb_load_bytes.c')
-rw-r--r--tools/testing/selftests/bpf/progs/skb_load_bytes.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/progs/skb_load_bytes.c b/tools/testing/selftests/bpf/progs/skb_load_bytes.c
new file mode 100644
index 000000000000..e4252fd973be
--- /dev/null
+++ b/tools/testing/selftests/bpf/progs/skb_load_bytes.c
@@ -0,0 +1,19 @@
+// SPDX-License-Identifier: GPL-2.0
+
+#include <linux/bpf.h>
+#include <bpf/bpf_helpers.h>
+
+char _license[] SEC("license") = "GPL";
+
+__u32 load_offset = 0;
+int test_result = 0;
+
+SEC("tc")
+int skb_process(struct __sk_buff *skb)
+{
+ char buf[16];
+
+ test_result = bpf_skb_load_bytes(skb, load_offset, buf, 10);
+
+ return 0;
+}