Message ID | 20240815-tcp-ao-selftests-upd-6-12-v3-4-7bd2e22bb81c@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 8acb1806e8c2846ae619f500a3229a325c3304f5 |
Headers | show |
Series | net/selftests: TCP-AO selftests updates | expand |
On Thu, Aug 15, 2024 at 10:32:29PM +0100, Dmitry Safonov via B4 Relay wrote: > From: Dmitry Safonov <0x7f454c46@gmail.com> > > It turns to be that open_netns() is called rarely from the child-thread > and more often from parent-thread. Yet, on initialization of kconfig > checks, either of threads may reach kconfig_lock mutex first. > VRF-related checks do create a temprary ksft-check VRF in nit: temporary Flagged by checkpatch.pl --codespell > an unshare()'d namespace and than setns() back to the original. > As original was opened from "/proc/self/ns/net", it's valid for > thread-leader (parent), but it's invalid for the child, resulting > in the following failure on tests that check has_vrfs() support: > > # ok 54 TCP-AO required on socket + TCP-MD5 key: prefailed as expected: Key was rejected by service > > # not ok 55 # error 381[unsigned-md5.c:24] Failed to add a VRF: -17 > > # not ok 56 # error 383[unsigned-md5.c:33] Failed to add a route to VRF: -22: Key was rejected by service > > not ok 1 selftests: net/tcp_ao: unsigned-md5_ipv6 # exit=1 > > Use "/proc/thread-self/ns/net" which is valid for any thread. > > Signed-off-by: Dmitry Safonov <0x7f454c46@gmail.com> ...
On Wed, 21 Aug 2024 at 20:11, Simon Horman <horms@kernel.org> wrote: > > On Thu, Aug 15, 2024 at 10:32:29PM +0100, Dmitry Safonov via B4 Relay wrote: > > From: Dmitry Safonov <0x7f454c46@gmail.com> > > > > It turns to be that open_netns() is called rarely from the child-thread > > and more often from parent-thread. Yet, on initialization of kconfig > > checks, either of threads may reach kconfig_lock mutex first. > > VRF-related checks do create a temprary ksft-check VRF in > > nit: temporary > > Flagged by checkpatch.pl --codespell A-ha, b4 has this b4.prep-perpatch-check-cmd git setting: https://github.com/mricon/b4/blob/37811c93f50e70f325e45107a9a20ffc69f2f6dc/src/b4/ez.py#L1667C20-L1667C43 Going to set it and hopefully, it will help avoid spellings/typos in future, thanks!
On Wed, Aug 21, 2024 at 10:44:30PM +0100, Dmitry Safonov wrote: > On Wed, 21 Aug 2024 at 20:11, Simon Horman <horms@kernel.org> wrote: > > > > On Thu, Aug 15, 2024 at 10:32:29PM +0100, Dmitry Safonov via B4 Relay wrote: > > > From: Dmitry Safonov <0x7f454c46@gmail.com> > > > > > > It turns to be that open_netns() is called rarely from the child-thread > > > and more often from parent-thread. Yet, on initialization of kconfig > > > checks, either of threads may reach kconfig_lock mutex first. > > > VRF-related checks do create a temprary ksft-check VRF in > > > > nit: temporary > > > > Flagged by checkpatch.pl --codespell > > A-ha, b4 has this b4.prep-perpatch-check-cmd git setting: > https://github.com/mricon/b4/blob/37811c93f50e70f325e45107a9a20ffc69f2f6dc/src/b4/ez.py#L1667C20-L1667C43 > > Going to set it and hopefully, it will help avoid spellings/typos in > future, thanks! --codespell is very handy for that :)
diff --git a/tools/testing/selftests/net/tcp_ao/lib/setup.c b/tools/testing/selftests/net/tcp_ao/lib/setup.c index e408b9243b2c..d5212ffe9489 100644 --- a/tools/testing/selftests/net/tcp_ao/lib/setup.c +++ b/tools/testing/selftests/net/tcp_ao/lib/setup.c @@ -111,7 +111,7 @@ static void sig_int(int signo) int open_netns(void) { - const char *netns_path = "/proc/self/ns/net"; + const char *netns_path = "/proc/thread-self/ns/net"; int fd; fd = open(netns_path, O_RDONLY);