aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/bpf/progs/priv_freplace_prog.c
diff options
context:
space:
mode:
authorMykyta Yatsenko <yatsenko@meta.com>2025-03-17 17:40:39 +0000
committerAndrii Nakryiko <andrii@kernel.org>2025-03-17 13:45:12 -0700
commita024843d92cca491034dac648bcfec967199a4a4 (patch)
tree62436d27fd49365a4db2b9fa92065b6aabbca28c /tools/testing/selftests/bpf/progs/priv_freplace_prog.c
parentlibbpf: Pass BPF token from find_prog_btf_id to BPF_BTF_GET_FD_BY_ID (diff)
downloadlinux-a024843d92cca491034dac648bcfec967199a4a4.tar.gz
linux-a024843d92cca491034dac648bcfec967199a4a4.zip
selftests/bpf: Test freplace from user namespace
Add selftests to verify that it is possible to load freplace program from user namespace if BPF token is initialized by bpf_object__prepare before calling bpf_program__set_attach_target. Negative test is added as well. Modified type of the priv_prog to xdp, as kprobe did not work on aarch64 and s390x. Signed-off-by: Mykyta Yatsenko <yatsenko@meta.com> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Acked-by: Yonghong Song <yonghong.song@linux.dev> Link: https://lore.kernel.org/bpf/20250317174039.161275-5-mykyta.yatsenko5@gmail.com
Diffstat (limited to 'tools/testing/selftests/bpf/progs/priv_freplace_prog.c')
-rw-r--r--tools/testing/selftests/bpf/progs/priv_freplace_prog.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/progs/priv_freplace_prog.c b/tools/testing/selftests/bpf/progs/priv_freplace_prog.c
new file mode 100644
index 000000000000..ccf1b04010ba
--- /dev/null
+++ b/tools/testing/selftests/bpf/progs/priv_freplace_prog.c
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: GPL-2.0
+/* Copyright (c) 2025 Meta Platforms, Inc. and affiliates. */
+
+#include "vmlinux.h"
+#include <bpf/bpf_helpers.h>
+
+char _license[] SEC("license") = "GPL";
+
+SEC("freplace/xdp_prog1")
+int new_xdp_prog2(struct xdp_md *xd)
+{
+ return XDP_DROP;
+}