selftests/bpf: disable program test run for progs/refcounted_kptr.c
authorEduard Zingerman <eddyz87@gmail.com>
Thu, 20 Apr 2023 23:23:14 +0000 (02:23 +0300)
committerAlexei Starovoitov <ast@kernel.org>
Thu, 20 Apr 2023 23:49:16 +0000 (16:49 -0700)
Florian Westphal found a bug in test_loader.c processing of __retval
tag. Because of this bug the function test_loader.c:do_prog_test_run()
never executed and all __retval test tags were ignored. This hid an
issue with progs/refcounted_kptr.c tests.

When __retval tag bug is fixed and refcounted_kptr.c tests are run
kernel reports various issues and eventually hangs. Shortest reproducer
is the following command run a few times:

  $ for i in $(seq 1 4); do (./test_progs --allow=refcounted_kptr &); done

Commenting out __retval tags for these tests until this issue is resolved.

Reported-by: Florian Westphal <fw@strlen.de>
Link: https://lore.kernel.org/bpf/f4c4aee644425842ee6aa8edf1da68f0a8260e7c.camel@gmail.com/T/
Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>
Link: https://lore.kernel.org/r/20230420232317.2181776-2-eddyz87@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/progs/refcounted_kptr.c

index 1d348a2..b6b2d4f 100644 (file)
@@ -219,7 +219,7 @@ static long __read_from_unstash(int idx)
 #define INSERT_READ_BOTH(rem_tree, rem_list, desc)                     \
 SEC("tc")                                                              \
 __description(desc)                                                    \
-__success __retval(579)                                                        \
+__success /* __retval(579) temporarily disabled */                     \
 long insert_and_remove_tree_##rem_tree##_list_##rem_list(void *ctx)    \
 {                                                                      \
        long err, tree_data, list_data;                                 \
@@ -258,7 +258,7 @@ INSERT_READ_BOTH(false, true, "insert_read_both: remove from list");
 #define INSERT_READ_BOTH(rem_tree, rem_list, desc)                     \
 SEC("tc")                                                              \
 __description(desc)                                                    \
-__success __retval(579)                                                        \
+__success /* __retval(579) temporarily disabled */                     \
 long insert_and_remove_lf_tree_##rem_tree##_list_##rem_list(void *ctx) \
 {                                                                      \
        long err, tree_data, list_data;                                 \
@@ -296,7 +296,7 @@ INSERT_READ_BOTH(false, true, "insert_read_both_list_first: remove from list");
 #define INSERT_DOUBLE_READ_AND_DEL(read_fn, read_root, desc)           \
 SEC("tc")                                                              \
 __description(desc)                                                    \
-__success __retval(-1)                                                 \
+__success /* temporarily __retval(-1) disabled */                      \
 long insert_double_##read_fn##_and_del_##read_root(void *ctx)          \
 {                                                                      \
        long err, list_data;                                            \
@@ -329,7 +329,7 @@ INSERT_DOUBLE_READ_AND_DEL(__read_from_list, head, "insert_double_del: 2x read-a
 #define INSERT_STASH_READ(rem_tree, desc)                              \
 SEC("tc")                                                              \
 __description(desc)                                                    \
-__success __retval(84)                                                 \
+__success /* __retval(84) temporarily disabled */                      \
 long insert_rbtree_and_stash__del_tree_##rem_tree(void *ctx)           \
 {                                                                      \
        long err, tree_data, map_data;                                  \