IPv6: Fix Smatch warning.
Subsystems (3)
PATCH 1/1 IPv6: Fix Smatch warning.
With commit d6ddef9e641d(IPv6: Fix not join all-router mcast group when forwarding set.) I check 'dev' after it's dereference that leads to a Smatch complaint:
net/ipv6/addrconf.c:438 ipv6_add_dev()
warn: variable dereferenced before check 'dev' (see line 432)
net/ipv6/addrconf.c
431 /* protected by rtnl_lock */
432 rcu_assign_pointer(dev->ip6_ptr, ndev);
^^^^^^^^^^^^Old dereference.
433
434 /* Join all-node multicast group */
435 ipv6_dev_mc_inc(dev, &in6addr_linklocal_allnodes);
436
437 /* Join all-router multicast group if forwarding is set
*/
438 if (ndev->cnf.forwarding && dev && (dev->flags &IFF_MULTICAST))
^^^
Remove the check to avoid the complaint as 'dev' can't be NULL.
--- net/ipv6/addrconf.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
net/ipv6/addrconf.c +1 -1
@@ -435,7 +435,7 @@ static struct inet6_dev * ipv6_add_dev(struct net_device *dev)ipv6_dev_mc_inc (dev, &in6addr_linklocal_allnodes);/* Join all-router multicast group if forwarding is set */ -if (ndev->cnf.forwarding && dev && (dev->flags &IFF_MULTICAST )) +if (ndev->cnf.forwarding && (dev->flags &IFF_MULTICAST ))ipv6_dev_mc_inc (dev, &in6addr_linklocal_allrouters);return ndev;
Signature · 1 line
1.7.1
From: Li Wei <[email protected]>
Date: Thu, 08 Mar 2012 08:58:07 +0800
Quoted 7 lines
With commit d6ddef9e641d(IPv6: Fix not join all-router mcast group when forwarding set.) I check 'dev' after it's dereference that leads to a Smatch complaint:
net/ipv6/addrconf.c:438ipv6_add_dev()
warn: variable dereferenced before check 'dev' (see line 432)
...
Quoted 4 lines
Remove the check to avoid the complaint as 'dev' can't be NULL.
Reported-by Dan Carpenter <[email protected]>Signed-off-by Li Wei <[email protected]>
Applied.