lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250905-redir-test-pass-drop-v1-4-9d9e43ff40df@rbox.co>
Date: Fri, 05 Sep 2025 13:11:44 +0200
From: Michal Luczaj <mhal@...x.co>
To: Alexei Starovoitov <ast@...nel.org>, 
 Daniel Borkmann <daniel@...earbox.net>, Andrii Nakryiko <andrii@...nel.org>, 
 Martin KaFai Lau <martin.lau@...ux.dev>, 
 Eduard Zingerman <eddyz87@...il.com>, Song Liu <song@...nel.org>, 
 Yonghong Song <yonghong.song@...ux.dev>, 
 John Fastabend <john.fastabend@...il.com>, KP Singh <kpsingh@...nel.org>, 
 Stanislav Fomichev <sdf@...ichev.me>, Hao Luo <haoluo@...gle.com>, 
 Jiri Olsa <jolsa@...nel.org>, Mykola Lysenko <mykolal@...com>, 
 Shuah Khan <shuah@...nel.org>
Cc: bpf@...r.kernel.org, linux-kselftest@...r.kernel.org, 
 linux-kernel@...r.kernel.org, Michal Luczaj <mhal@...x.co>
Subject: [PATCH bpf-next 4/5] selftests/bpf: sockmap_redir: Let test
 specify skel's redirect_type

Preparatory patch before adding SK_PASS/SK_DROP support: allow to
dynamically switch BPF program's redirect_type. This way, after setting up
for a redirection, test can make the BPF program skip the actual
bpf_{sk,msg}_redirect_{map,hash} part and return a specified verdict.

Signed-off-by: Michal Luczaj <mhal@...x.co>
---
 tools/testing/selftests/bpf/prog_tests/sockmap_redir.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/bpf/prog_tests/sockmap_redir.c b/tools/testing/selftests/bpf/prog_tests/sockmap_redir.c
index 9fc5b4dd323d8554e6dc89d06be9054612e41020..f89df1ca1174800d801f221a819b099abf911450 100644
--- a/tools/testing/selftests/bpf/prog_tests/sockmap_redir.c
+++ b/tools/testing/selftests/bpf/prog_tests/sockmap_redir.c
@@ -371,7 +371,7 @@ static void test_redir(enum bpf_map_type type, struct redir_spec *redir,
 }
 
 static void test_sockets(enum bpf_map_type type, struct redir_spec *redir,
-			 struct maps *maps)
+			 struct maps *maps, int *skel_redir_type)
 {
 	struct socket_spec *s, sockets[] = {
 		{ AF_INET, SOCK_STREAM },
@@ -392,6 +392,8 @@ static void test_sockets(enum bpf_map_type type, struct redir_spec *redir,
 		if (socket_spec_pairs(s))
 			goto out;
 
+	*skel_redir_type = type;
+
 	/* Intra-proto */
 	for (s = sockets; s < sockets + ARRAY_SIZE(sockets); s++)
 		test_redir(type, redir, maps, s, s);
@@ -451,7 +453,6 @@ static void test_map(enum bpf_map_type type)
 			return;
 		}
 
-		skel->bss->redirect_type = type;
 		maps.verd = bpf_map__fd(skel->maps.verdict_map);
 		get_redir_params(r, skel, &prog_fd, &attach_type,
 				 &skel->bss->redirect_flags);
@@ -459,7 +460,7 @@ static void test_map(enum bpf_map_type type)
 		if (xbpf_prog_attach(prog_fd, maps.in, attach_type, 0))
 			return;
 
-		test_sockets(type, r, &maps);
+		test_sockets(type, r, &maps, &skel->bss->redirect_type);
 
 		if (xbpf_prog_detach2(prog_fd, maps.in, attach_type))
 			return;

-- 
2.50.1


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ