Message ID | 94ceff1a1f708ce80664370c783f7bfb066fccb5.1446577025.git.sd@queasysnail.net |
---|---|
State | Superseded, archived |
Delegated to: | David Miller |
Headers | show |
On Wed, 2015-11-04 at 14:47 +0100, Sabrina Dubroca wrote: > 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. > > Reported-by: Dmitry Vyukov <dvyukov@google.com> > Signed-off-by: Sabrina Dubroca <sd@queasysnail.net> > --- > > 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. Any idea when the bug was added ? Can we please add a proper Fixes: tag for patches that need to be backported to stable versions ? It seems to be Fixes: a317a2f19da7d ("ipv6: fail early when creating netdev named all or default") So this goes back to linux-3.17 ? Thanks a lot Sabrina ! -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
2015-11-04, 07:23:14 -0800, Eric Dumazet wrote: > On Wed, 2015-11-04 at 14:47 +0100, Sabrina Dubroca wrote: > > 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. > > > > Reported-by: Dmitry Vyukov <dvyukov@google.com> > > Signed-off-by: Sabrina Dubroca <sd@queasysnail.net> > > --- > > > > 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. > > Any idea when the bug was added ? > > Can we please add a proper Fixes: tag for patches that need to be > backported to stable versions ? > > It seems to be > > Fixes: a317a2f19da7d ("ipv6: fail early when creating netdev named all or default") > > So this goes back to linux-3.17 ? > > Thanks a lot Sabrina ! Sorry, I didn't do the archeology (well, run git blame). That looks correct, thanks Eric.
From: Sabrina Dubroca <sd@queasysnail.net> Date: Wed, 4 Nov 2015 18:00:13 +0100 > 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@google.com> > Signed-off-by: Sabrina Dubroca <sd@queasysnail.net> Applied, thanks. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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 */
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. Reported-by: Dmitry Vyukov <dvyukov@google.com> Signed-off-by: Sabrina Dubroca <sd@queasysnail.net> --- 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(+)