summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2024-12-17 18:25:08 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-12-27 14:02:05 +0100
commit57ed6505ba70ff55216c4c27ae1cb382c88fdd64 (patch)
tree49f4591c5514623155fa2c8411b3bc9af5e604b5
parent67814ea2d1b0a3c3d84279d481f36be4dfebd25c (diff)
netdev-genl: avoid empty messages in queue dump
[ Upstream commit 5eb70dbebf32c2fd1f2814c654ae17fc47d6e859 ] 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 it has no queues. Fixes: 6b6171db7fc8 ("netdev-genl: Add netlink framework functions for queue") Reported-by: syzbot+0a884bc2d304ce4af70f@syzkaller.appspotmail.com Reviewed-by: Eric Dumazet <edumazet@google.com> Reviewed-by: Joe Damato <jdamato@fastly.com> Link: https://patch.msgid.link/20241218022508.815344-1-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--net/core/netdev-genl.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/core/netdev-genl.c b/net/core/netdev-genl.c
index 224d1b5b79a7..7ce22f40db5b 100644
--- a/net/core/netdev-genl.c
+++ b/net/core/netdev-genl.c
@@ -359,10 +359,10 @@ static int
netdev_nl_queue_fill(struct sk_buff *rsp, struct net_device *netdev, u32 q_idx,
u32 q_type, const struct genl_info *info)
{
- int err = 0;
+ int err;
if (!(netdev->flags & IFF_UP))
- return err;
+ return -ENOENT;
err = netdev_nl_queue_validate(netdev, q_idx, q_type);
if (err)