| From bfded197ed6a538a4e022793e059072a3e7adaaa Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 17 Dec 2024 18:25:08 -0800 |
| Subject: netdev-genl: avoid empty messages in queue dump |
| |
| From: Jakub Kicinski <kuba@kernel.org> |
| |
| [ 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> |
| --- |
| net/core/netdev-genl.c | 4 ++-- |
| 1 file 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) |
| -- |
| 2.39.5 |
| |