[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <94ceff1a1f708ce80664370c783f7bfb066fccb5.1446577025.git.sd@queasysnail.net>
Date: Wed, 4 Nov 2015 18:00:13 +0100
From: Sabrina Dubroca <sd@...asysnail.net>
To: netdev@...r.kernel.org
Cc: eric.dumazet@...il.com, dvyukov@...gle.com,
hannes@...essinduktion.org, cwang@...pensource.com,
Sabrina Dubroca <sd@...asysnail.net>
Subject: [PATCH net v3] ipv6: clean up dev_snmp6 proc entry when we fail to initialize inet6_dev
In ipv6_add_dev, when addrconf_sysctl_register fails, we do not clean up
the dev_snmp6 entry that we have already registered for this device.
Call snmp6_unregister_dev in this case.
Fixes: a317a2f19da7d ("ipv6: fail early when creating netdev named all or default")
Reported-by: Dmitry Vyukov <dvyukov@...gle.com>
Signed-off-by: Sabrina Dubroca <sd@...asysnail.net>
---
v3: add Fixes: tag, thanks Eric.
v2: we cannot call snmp6_unregister_dev from addrconf_core.c, this
breaks CONFIG_IPV6=m, instead do the clean up directly from
ipv6_add_dev
thanks Cong.
net/ipv6/addrconf.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 36b85bd05ac8..dd00828863a0 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -417,6 +417,7 @@ static struct inet6_dev *ipv6_add_dev(struct net_device *dev)
if (err) {
ipv6_mc_destroy_dev(ndev);
del_timer(&ndev->regen_timer);
+ snmp6_unregister_dev(ndev);
goto err_release;
}
/* protected by rtnl_lock */
--
2.6.2
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists