On Mon, 01 Jun 2026 12:24:28 -0700 Bobby Eshleman wrote: > From: Bobby Eshleman <[email protected]> > > Add userns_devmem.py, which mirrors nk_devmem.py but places the netkit > guest in a netns whose owning user_ns is non-init. ncdevmem is ran there > via nsenter so the bind-rx call is issued with creds that hold > CAP_NET_ADMIN only in the child user_ns. > > Without the preceding GENL_UNS_ADMIN_PERM patch the test fails at > bind-rx with EPERM, but with the patch the transfer completes and tests > pass.
# Traceback (most recent call last): # File "/srv/vmksft/testing/wt-17/tools/testing/selftests/drivers/net/./hds.py", line 8, in <module> # from lib.py import ksft_run, ksft_exit, ksft_eq, ksft_raises, KsftSkipEx # File "/srv/vmksft/testing/wt-17/tools/testing/selftests/drivers/net/lib/py/__init__.py", line 50, in <module> # from .env import NetDrvEnv, NetDrvEpEnv, NetDrvContEnv # File "/srv/vmksft/testing/wt-17/tools/testing/selftests/drivers/net/lib/py/env.py", line 12, in <module> # from lib.py import NetNS, NetdevSimDev, UserNetNS # ImportError: cannot import name 'UserNetNS' from partially initialized module 'lib.py' (most likely due to a circular import) (/srv/vmksft/testing/wt-17/tools/testing/selftests/drivers/net/lib/py/__init__.py)

