]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
netdev-genl: avoid empty messages in queue dump
authorJakub Kicinski <kuba@kernel.org>
Wed, 18 Dec 2024 02:25:08 +0000 (18:25 -0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 19 Dec 2024 03:22:51 +0000 (19:22 -0800)
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>
net/core/netdev-genl.c

index 1be8c7c21d19d55eeff2d48b7e5e05f66a9009fc..2d3ae0cd3ad25b70408c58c01f13005ad329bd9e 100644 (file)
@@ -430,10 +430,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)