Message ID | 20120502060957.30368.34595.sendpatchset@localhost.localdomain |
---|---|
State | Rejected, archived |
Delegated to: | David Miller |
Headers | show |
On Wed, 2012-05-02 at 11:39 +0530, Krishna Kumar wrote: > Fix a potential "waiting for %s to become free" hang. > mif6_add() called ip6mr_reg_vif to allocate/register a > netdevice, which also took an extra reference on the > device. On error, mif6_add should drop this reference > before unregistering the device. > > (untested, noticed from code walkthrough) > > Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com> > --- > net/ipv6/ip6mr.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff -ruNp org/net/ipv6/ip6mr.c new/net/ipv6/ip6mr.c > --- org/net/ipv6/ip6mr.c 2012-04-19 09:03:34.000000000 +0530 > +++ new/net/ipv6/ip6mr.c 2012-05-02 10:51:01.953110994 +0530 > @@ -937,8 +937,8 @@ static int mif6_add(struct net *net, str > return -ENOBUFS; > err = dev_set_allmulti(dev, 1); > if (err) { > - unregister_netdevice(dev); > dev_put(dev); > + unregister_netdevice(dev); > return err; > } > break; > This makes no difference to dev_put() before or after unregister_netdevice() because we hold RTNL in mif6_add() -- 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 -ruNp org/net/ipv6/ip6mr.c new/net/ipv6/ip6mr.c --- org/net/ipv6/ip6mr.c 2012-04-19 09:03:34.000000000 +0530 +++ new/net/ipv6/ip6mr.c 2012-05-02 10:51:01.953110994 +0530 @@ -937,8 +937,8 @@ static int mif6_add(struct net *net, str return -ENOBUFS; err = dev_set_allmulti(dev, 1); if (err) { - unregister_netdevice(dev); dev_put(dev); + unregister_netdevice(dev); return err; } break;
Fix a potential "waiting for %s to become free" hang. mif6_add() called ip6mr_reg_vif to allocate/register a netdevice, which also took an extra reference on the device. On error, mif6_add should drop this reference before unregistering the device. (untested, noticed from code walkthrough) Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com> --- net/ipv6/ip6mr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 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