From: Jakub Kicinski <kuba@kernel.org>
Date: Tue, 14 Dec 2021 01:39:02 +0000 (-0800)
Subject: ethtool: fix null-ptr-deref on ref tracker
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=0976b888a150476ba955ce4765858824c633cfd2;p=linux.git

ethtool: fix null-ptr-deref on ref tracker

dev can be a NULL here, not all requests set require_dev.

Fixes: e4b8954074f6 ("netlink: add net device refcount tracker to struct ethnl_req_info")
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---

diff --git a/net/ethtool/netlink.c b/net/ethtool/netlink.c
index 23f32a995099a..767fb3f172676 100644
--- a/net/ethtool/netlink.c
+++ b/net/ethtool/netlink.c
@@ -141,8 +141,10 @@ int ethnl_parse_header_dev_get(struct ethnl_req_info *req_info,
 		return -EINVAL;
 	}
 
-	req_info->dev = dev;
-	netdev_tracker_alloc(dev, &req_info->dev_tracker, GFP_KERNEL);
+	if (dev) {
+		req_info->dev = dev;
+		netdev_tracker_alloc(dev, &req_info->dev_tracker, GFP_KERNEL);
+	}
 	req_info->flags = flags;
 	return 0;
 }