]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
selftests/bpf: Add txmsg_pass to pull/push/pop in test_sockmap
authorZijian Zhang <zijianzhang@bytedance.com>
Wed, 6 Nov 2024 22:25:13 +0000 (22:25 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 14 Dec 2024 18:50:57 +0000 (19:50 +0100)
[ Upstream commit 66c54c20408d994be34be2c070fba08472f69eee ]

Add txmsg_pass to test_txmsg_pull/push/pop. If txmsg_pass is missing,
tx_prog will be NULL, and no program will be attached to the sockmap.
As a result, pull/push/pop are never invoked.

Fixes: 328aa08a081b ("bpf: Selftests, break down test_sockmap into subtests")
Signed-off-by: Zijian Zhang <zijianzhang@bytedance.com>
Reviewed-by: John Fastabend <john.fastabend@gmail.com>
Link: https://lore.kernel.org/r/20241106222520.527076-2-zijianzhang@bytedance.com
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/testing/selftests/bpf/test_sockmap.c

index b17250c41d6918e6189b2c974de24aba6831447d..58db1c4a572fa88c562e01ca938827f5f2cb81ca 100644 (file)
@@ -1547,11 +1547,13 @@ static void test_txmsg_cork_hangs(int cgrp, struct sockmap_options *opt)
 static void test_txmsg_pull(int cgrp, struct sockmap_options *opt)
 {
        /* Test basic start/end */
+       txmsg_pass = 1;
        txmsg_start = 1;
        txmsg_end = 2;
        test_send(opt, cgrp);
 
        /* Test >4k pull */
+       txmsg_pass = 1;
        txmsg_start = 4096;
        txmsg_end = 9182;
        test_send_large(opt, cgrp);
@@ -1580,11 +1582,13 @@ static void test_txmsg_pull(int cgrp, struct sockmap_options *opt)
 static void test_txmsg_pop(int cgrp, struct sockmap_options *opt)
 {
        /* Test basic pop */
+       txmsg_pass = 1;
        txmsg_start_pop = 1;
        txmsg_pop = 2;
        test_send_many(opt, cgrp);
 
        /* Test pop with >4k */
+       txmsg_pass = 1;
        txmsg_start_pop = 4096;
        txmsg_pop = 4096;
        test_send_large(opt, cgrp);
@@ -1613,11 +1617,13 @@ static void test_txmsg_pop(int cgrp, struct sockmap_options *opt)
 static void test_txmsg_push(int cgrp, struct sockmap_options *opt)
 {
        /* Test basic push */
+       txmsg_pass = 1;
        txmsg_start_push = 1;
        txmsg_end_push = 1;
        test_send(opt, cgrp);
 
        /* Test push 4kB >4k */
+       txmsg_pass = 1;
        txmsg_start_push = 4096;
        txmsg_end_push = 4096;
        test_send_large(opt, cgrp);
@@ -1638,6 +1644,7 @@ static void test_txmsg_push(int cgrp, struct sockmap_options *opt)
 
 static void test_txmsg_push_pop(int cgrp, struct sockmap_options *opt)
 {
+       txmsg_pass = 1;
        txmsg_start_push = 1;
        txmsg_end_push = 10;
        txmsg_start_pop = 5;