summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2024-12-18 19:28:32 -0800
committerJakub Kicinski <kuba@kernel.org>2024-12-20 11:57:29 -0800
commit4a25201aa46ce88e8e31f9ccdec0e4e3dd6bb736 (patch)
tree6f68eaaf9e2339b1aea7a27b3740faa9f0f0406f /net
parent246068b86b1c36e4590388ab8f278e21f1997dc1 (diff)
downloadlwn-4a25201aa46ce88e8e31f9ccdec0e4e3dd6bb736.tar.gz
lwn-4a25201aa46ce88e8e31f9ccdec0e4e3dd6bb736.zip
netdev-genl: avoid empty messages in napi get
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") Reviewed-by: Eric Dumazet <edumazet@google.com> Link: https://patch.msgid.link/20241219032833.1165433-1-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net')
-rw-r--r--net/core/netdev-genl.c6
1 files changed, 5 insertions, 1 deletions
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);