]> git.hungrycats.org Git - linux/commit
netdev-genl: report NAPI thread PID in the caller's pid namespace
authorMaoyi Xie <maoyixie.tju@gmail.com>
Mon, 15 Jun 2026 17:17:36 +0000 (01:17 +0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 17 Jun 2026 23:09:32 +0000 (16:09 -0700)
commit1f24c0d01db214c9e661915e9972404c96ca73c0
tree9519e1f1c41ee943b7bf8b7a6204bde753ead873
parente4b4d8410c7ccea25f4b332a077c6b9f5d263228
netdev-genl: report NAPI thread PID in the caller's pid namespace

netdev_nl_napi_fill_one() reports the NAPI kthread PID in NETDEV_A_NAPI_PID
using task_pid_nr(), which returns the PID in the initial pid namespace.

NETDEV_CMD_NAPI_GET does not have GENL_ADMIN_PERM and the netdev genl family
is netnsok, so a caller in a child pid namespace can issue it. That caller
then sees the kthread's global PID, even though the kthread is not visible
in its pid namespace, where the value should be 0.

Translate the PID through the caller's pid namespace, the same way commit
3799c2570982 ("io_uring/fdinfo: translate SqThread PID through caller's
pid_ns") did for the io_uring SQPOLL thread. The doit and dumpit paths both
run synchronously in the caller's context, so task_active_pid_ns(current) is
the caller's pid namespace.

Fixes: db4704f4e4df ("netdev-genl: Add PID for the NAPI thread")
Cc: stable@vger.kernel.org
Signed-off-by: Maoyi Xie <maoyixie.tju@gmail.com>
Reviewed-by: Joe Damato <joe@dama.to>
Reviewed-by: Samiullah Khawaja <skhawaja@google.com>
Link: https://patch.msgid.link/20260615171736.1709318-1-maoyixie.tju@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/core/netdev-genl.c