[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <tencent_ABAECE4C9727C606CDD2D6C67209852EC406@qq.com>
Date: Mon, 7 Apr 2025 19:22:27 +0800
From: Edward Adam Davis <eadavis@...com>
To: syzbot+10d145ea96fc91185445@...kaller.appspotmail.com
Cc: davem@...emloft.net,
dsahern@...nel.org,
edumazet@...gle.com,
horms@...nel.org,
kuba@...nel.org,
kuniyu@...zon.com,
linux-kernel@...r.kernel.org,
netdev@...r.kernel.org,
pabeni@...hat.com,
sdf@...ichev.me,
syzkaller-bugs@...glegroups.com
Subject: [PATCH] net: get ops lock under dev valid
Make sure that dev is not NULL before locking ops.
Fixes: 8965c160b8f7 ("net: use netif_disable_lro in ipv6_add_dev")
Reported-by: syzbot+10d145ea96fc91185445@...kaller.appspotmail.com
Signed-off-by: Edward Adam Davis <eadavis@...com>
---
net/ipv6/addrconf.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 2cffb8f4a2bc..5d9fd01e6265 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -3154,12 +3154,13 @@ int addrconf_add_ifaddr(struct net *net, void __user *arg)
rtnl_net_lock(net);
dev = __dev_get_by_index(net, ireq.ifr6_ifindex);
- netdev_lock_ops(dev);
- if (dev)
+ if (dev) {
+ netdev_lock_ops(dev);
err = inet6_addr_add(net, dev, &cfg, 0, 0, NULL);
+ netdev_unlock_ops(dev);
+ }
else
err = -ENODEV;
- netdev_unlock_ops(dev);
rtnl_net_unlock(net);
return err;
}
--
2.43.0
Powered by blists - more mailing lists