Message ID | 20241219032833.1165433-1-kuba@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 4a25201aa46ce88e8e31f9ccdec0e4e3dd6bb736 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net,v2,1/2] netdev-genl: avoid empty messages in napi get | expand |
On Thu, Dec 19, 2024 at 4:28 AM Jakub Kicinski <kuba@kernel.org> wrote: > > Empty netlink responses from do() are not correct (as opposed to > dump() where not dumping anything is perfectly fine). > We should return an error if the target object does not exist, > in this case if the netdev is down we "hide" the NAPI instances. > > Fixes: 27f91aaf49b3 ("netdev-genl: Add netlink framework functions for napi") > Signed-off-by: Jakub Kicinski <kuba@kernel.org> Reviewed-by: Eric Dumazet <edumazet@google.com>
Hello: This series was applied to netdev/net.git (main) by Jakub Kicinski <kuba@kernel.org>: On Wed, 18 Dec 2024 19:28:32 -0800 you wrote: > Empty netlink responses from do() are not correct (as opposed to > dump() where not dumping anything is perfectly fine). > We should return an error if the target object does not exist, > in this case if the netdev is down we "hide" the NAPI instances. > > Fixes: 27f91aaf49b3 ("netdev-genl: Add netlink framework functions for napi") > Signed-off-by: Jakub Kicinski <kuba@kernel.org> > > [...] Here is the summary with links: - [net,v2,1/2] netdev-genl: avoid empty messages in napi get https://git.kernel.org/netdev/net/c/4a25201aa46c - [net,v2,2/2] selftests: drv-net: test empty queue and NAPI responses in netlink https://git.kernel.org/netdev/net/c/30b981796b94 You are awesome, thank you!
diff --git a/net/core/netdev-genl.c b/net/core/netdev-genl.c index 2d3ae0cd3ad2..b0772d135efb 100644 --- a/net/core/netdev-genl.c +++ b/net/core/netdev-genl.c @@ -246,8 +246,12 @@ int netdev_nl_napi_get_doit(struct sk_buff *skb, struct genl_info *info) rcu_read_unlock(); rtnl_unlock(); - if (err) + if (err) { goto err_free_msg; + } else if (!rsp->len) { + err = -ENOENT; + goto err_free_msg; + } return genlmsg_reply(rsp, info);
Empty netlink responses from do() are not correct (as opposed to dump() where not dumping anything is perfectly fine). We should return an error if the target object does not exist, in this case if the netdev is down we "hide" the NAPI instances. Fixes: 27f91aaf49b3 ("netdev-genl: Add netlink framework functions for napi") Signed-off-by: Jakub Kicinski <kuba@kernel.org> --- v2: - fix the locking v1: https://lore.kernel.org/20241218024305.823683-1-kuba@kernel.org CC: jdamato@fastly.com CC: almasrymina@google.com CC: sridhar.samudrala@intel.com CC: amritha.nambiar@intel.com --- net/core/netdev-genl.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)