]> git.dujemihanovic.xyz Git - linux.git/commitdiff
net: ethtool: phy: Don't set the context dev pointer for unfiltered DUMP
authorMaxime Chevallier <maxime.chevallier@bootlin.com>
Fri, 13 Sep 2024 10:05:14 +0000 (12:05 +0200)
committerJakub Kicinski <kuba@kernel.org>
Sat, 14 Sep 2024 04:40:12 +0000 (21:40 -0700)
The context info allows continuing DUMP requests, shall they fill the
netlink buffer.

In the case of filtered DUMP requests, a reference on the netdev is
grabbed in the .start() callback and release in .done().

Unfiltered DUMP request don't need the dev pointer to be set in the context
info, doing so will trigger an unwanted netdev_put() in .done().

Reported-by: syzbot+e9ed4e4368d450c8f9db@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/netdev/000000000000d3bf150621d361a7@google.com/
Fixes: 17194be4c8e1 ("net: ethtool: Introduce a command to list PHYs on an interface")
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
Link: https://patch.msgid.link/20240913100515.167341-1-maxime.chevallier@bootlin.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ethtool/phy.c

index 4ef7c6e32d1087dc71acb467f9cd2ab8faf4dc39..ed8f690f6bac81d43d02da2d2f58e30f2e255967 100644 (file)
@@ -251,8 +251,6 @@ static int ethnl_phy_dump_one_dev(struct sk_buff *skb, struct net_device *dev,
        int ret = 0;
        void *ehdr;
 
-       pri->base.dev = dev;
-
        if (!dev->link_topo)
                return 0;