* [PATCH net-next] netns: no longer hold RTNL in rtnl_net_dumpid()
@ 2024-04-16 14:07 Eric Dumazet
2024-04-17 10:37 ` Guillaume Nault
2024-04-18 1:40 ` patchwork-bot+netdevbpf
0 siblings, 2 replies; 3+ messages in thread
From: Eric Dumazet @ 2024-04-16 14:07 UTC (permalink / raw)
To: David S . Miller, Jakub Kicinski, Paolo Abeni
Cc: netdev, eric.dumazet, Eric Dumazet, Guillaume Nault
- rtnl_net_dumpid() is already fully RCU protected,
RTNL is not needed there.
- Fix return value at the end of a dump,
so that NLMSG_DONE can be appended to current skb,
saving one recvmsg() system call.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Guillaume Nault <gnault@redhat.com>
---
net/core/net_namespace.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/net/core/net_namespace.c b/net/core/net_namespace.c
index f0540c5575157135b1dc5dece2220f81a408fb7e..2f5190aa2f15cec2e934ebee9c502fb426cf0d7d 100644
--- a/net/core/net_namespace.c
+++ b/net/core/net_namespace.c
@@ -1090,7 +1090,7 @@ static int rtnl_net_dumpid(struct sk_buff *skb, struct netlink_callback *cb)
end:
if (net_cb.fillargs.add_ref)
put_net(net_cb.tgt_net);
- return err < 0 ? err : skb->len;
+ return err;
}
static void rtnl_net_notifyid(struct net *net, int cmd, int id, u32 portid,
@@ -1205,7 +1205,8 @@ void __init net_ns_init(void)
rtnl_register(PF_UNSPEC, RTM_NEWNSID, rtnl_net_newid, NULL,
RTNL_FLAG_DOIT_UNLOCKED);
rtnl_register(PF_UNSPEC, RTM_GETNSID, rtnl_net_getid, rtnl_net_dumpid,
- RTNL_FLAG_DOIT_UNLOCKED);
+ RTNL_FLAG_DOIT_UNLOCKED |
+ RTNL_FLAG_DUMP_UNLOCKED);
}
static void free_exit_list(struct pernet_operations *ops, struct list_head *net_exit_list)
--
2.44.0.683.g7961c838ac-goog
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH net-next] netns: no longer hold RTNL in rtnl_net_dumpid()
2024-04-16 14:07 [PATCH net-next] netns: no longer hold RTNL in rtnl_net_dumpid() Eric Dumazet
@ 2024-04-17 10:37 ` Guillaume Nault
2024-04-18 1:40 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 3+ messages in thread
From: Guillaume Nault @ 2024-04-17 10:37 UTC (permalink / raw)
To: Eric Dumazet
Cc: David S . Miller, Jakub Kicinski, Paolo Abeni, netdev,
eric.dumazet
On Tue, Apr 16, 2024 at 02:07:39PM +0000, Eric Dumazet wrote:
> - rtnl_net_dumpid() is already fully RCU protected,
> RTNL is not needed there.
>
> - Fix return value at the end of a dump,
> so that NLMSG_DONE can be appended to current skb,
> saving one recvmsg() system call.
Reviewed-by: Guillaume Nault <gnault@redhat.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH net-next] netns: no longer hold RTNL in rtnl_net_dumpid()
2024-04-16 14:07 [PATCH net-next] netns: no longer hold RTNL in rtnl_net_dumpid() Eric Dumazet
2024-04-17 10:37 ` Guillaume Nault
@ 2024-04-18 1:40 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 3+ messages in thread
From: patchwork-bot+netdevbpf @ 2024-04-18 1:40 UTC (permalink / raw)
To: Eric Dumazet; +Cc: davem, kuba, pabeni, netdev, eric.dumazet, gnault
Hello:
This patch was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:
On Tue, 16 Apr 2024 14:07:39 +0000 you wrote:
> - rtnl_net_dumpid() is already fully RCU protected,
> RTNL is not needed there.
>
> - Fix return value at the end of a dump,
> so that NLMSG_DONE can be appended to current skb,
> saving one recvmsg() system call.
>
> [...]
Here is the summary with links:
- [net-next] netns: no longer hold RTNL in rtnl_net_dumpid()
https://git.kernel.org/netdev/net-next/c/1514b06aff16
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-04-18 1:40 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-16 14:07 [PATCH net-next] netns: no longer hold RTNL in rtnl_net_dumpid() Eric Dumazet
2024-04-17 10:37 ` Guillaume Nault
2024-04-18 1:40 ` patchwork-bot+netdevbpf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).