Commit 5eb70dbe authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

netdev-genl: avoid empty messages in queue dump



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: 6b6171db ("netdev-genl: Add netlink framework functions for queue")
Reported-by: default avatar <syzbot+0a884bc2d304ce4af70f@syzkaller.appspotmail.com>
Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
Reviewed-by: default avatarJoe Damato <jdamato@fastly.com>
Link: https://patch.msgid.link/20241218022508.815344-1-kuba@kernel.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 16f027cd
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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)