Patch "selftests/bpf: Fix flaky selftest lwt_redirect/lwt_reroute" has been added to the 6.6-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    selftests/bpf: Fix flaky selftest lwt_redirect/lwt_reroute

to the 6.6-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     selftests-bpf-fix-flaky-selftest-lwt_redirect-lwt_re.patch
and it can be found in the queue-6.6 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit c16af2841218e4b271a3b640729f4d57121bd5be
Author: Yonghong Song <yonghong.song@xxxxxxxxx>
Date:   Sun Feb 4 21:29:14 2024 -0800

    selftests/bpf: Fix flaky selftest lwt_redirect/lwt_reroute
    
    [ Upstream commit e7f31873176a345d72ca77c7b4da48493ccd9efd ]
    
    Recently, when running './test_progs -j', I occasionally hit the
    following errors:
    
      test_lwt_redirect:PASS:pthread_create 0 nsec
      test_lwt_redirect_run:FAIL:netns_create unexpected error: 256 (errno 0)
      #142/2   lwt_redirect/lwt_redirect_normal_nomac:FAIL
      #142     lwt_redirect:FAIL
      test_lwt_reroute:PASS:pthread_create 0 nsec
      test_lwt_reroute_run:FAIL:netns_create unexpected error: 256 (errno 0)
      test_lwt_reroute:PASS:pthread_join 0 nsec
      #143/2   lwt_reroute/lwt_reroute_qdisc_dropped:FAIL
      #143     lwt_reroute:FAIL
    
    The netns_create() definition looks like below:
    
      #define NETNS "ns_lwt"
      static inline int netns_create(void)
      {
            return system("ip netns add " NETNS);
      }
    
    One possibility is that both lwt_redirect and lwt_reroute create
    netns with the same name "ns_lwt" which may cause conflict. I tried
    the following example:
      $ sudo ip netns add abc
      $ echo $?
      0
      $ sudo ip netns add abc
      Cannot create namespace file "/var/run/netns/abc": File exists
      $ echo $?
      1
      $
    
    The return code for above netns_create() is 256. The internet search
    suggests that the return value for 'ip netns add ns_lwt' is 1, which
    matches the above 'sudo ip netns add abc' example.
    
    This patch tried to use different netns names for two tests to avoid
    'ip netns add <name>' failure.
    
    I ran './test_progs -j' 10 times and all succeeded with
    lwt_redirect/lwt_reroute tests.
    
    Signed-off-by: Yonghong Song <yonghong.song@xxxxxxxxx>
    Signed-off-by: Andrii Nakryiko <andrii@xxxxxxxxxx>
    Tested-by: Eduard Zingerman <eddyz87@xxxxxxxxx>
    Link: https://lore.kernel.org/bpf/20240205052914.1742687-1-yonghong.song@xxxxxxxxx
    Stable-dep-of: 16b795cc5952 ("selftests/bpf: Fix redefinition errors compiling lwt_reroute.c")
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/tools/testing/selftests/bpf/prog_tests/lwt_helpers.h b/tools/testing/selftests/bpf/prog_tests/lwt_helpers.h
index 61333f2a03f91..68c08309dbc82 100644
--- a/tools/testing/selftests/bpf/prog_tests/lwt_helpers.h
+++ b/tools/testing/selftests/bpf/prog_tests/lwt_helpers.h
@@ -27,8 +27,6 @@
 			}                                                     \
 	})
 
-#define NETNS "ns_lwt"
-
 static inline int netns_create(void)
 {
 	return system("ip netns add " NETNS);
diff --git a/tools/testing/selftests/bpf/prog_tests/lwt_redirect.c b/tools/testing/selftests/bpf/prog_tests/lwt_redirect.c
index ea326e26656f5..7b458ae5f0f85 100644
--- a/tools/testing/selftests/bpf/prog_tests/lwt_redirect.c
+++ b/tools/testing/selftests/bpf/prog_tests/lwt_redirect.c
@@ -53,6 +53,7 @@
 #include <stdbool.h>
 #include <stdlib.h>
 
+#define NETNS "ns_lwt_redirect"
 #include "lwt_helpers.h"
 #include "test_progs.h"
 #include "network_helpers.h"
diff --git a/tools/testing/selftests/bpf/prog_tests/lwt_reroute.c b/tools/testing/selftests/bpf/prog_tests/lwt_reroute.c
index f4bb2d5fcae0a..c104f07f1b0bc 100644
--- a/tools/testing/selftests/bpf/prog_tests/lwt_reroute.c
+++ b/tools/testing/selftests/bpf/prog_tests/lwt_reroute.c
@@ -48,6 +48,7 @@
  *  For case 2, force UDP packets to overflow fq limit. As long as kernel
  *  is not crashed, it is considered successful.
  */
+#define NETNS "ns_lwt_reroute"
 #include "lwt_helpers.h"
 #include "network_helpers.h"
 #include <linux/net_tstamp.h>




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux