[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070105111910.GA3650@ff.dom.local>
Date: Fri, 5 Jan 2007 12:19:10 +0100
From: Jarek Poplawski <jarkao2@...pl>
To: Herbert Xu <herbert@...dor.apana.org.au>
Cc: David Miller <davem@...emloft.net>, dlstevens@...ibm.com,
greearb@...delatech.com, netdev@...r.kernel.org
Subject: [PATCH] devinet: inetdev_init out label moved after RCU assignment
On Fri, Jan 05, 2007 at 08:38:47PM +1100, Herbert Xu wrote:
> On Fri, Jan 05, 2007 at 07:38:44AM +0100, Jarek Poplawski wrote:
> >
> > I'd only suggest to change "goto out;" to
> > "return NULL;" at the end of inetdev_init because
> > now RCU is engaged unnecessarily.
>
> I agree. The RCU assignment should come before the out label.
> Can you send a patch?
Why me? (I didn't spoil this!)
Cheers,
Jarek P.
PS: should be applied after David's Stevens patch from 2007.01.04
---
Subject: [PATCH] devinet: inetdev_init out label moved after RCU assignment
inetdev_init out label moved after RCU assignment
(final suggestion by Herbert Xu)
Signed-off-by: Jarek Poplawski <jarkao2@...pl>
---
diff -Nurp linux-2.6.20-rc3-/net/ipv4/devinet.c linux-2.6.20-rc3/net/ipv4/devinet.c
--- linux-2.6.20-rc3-/net/ipv4/devinet.c 2007-01-05 11:53:16.000000000 +0100
+++ linux-2.6.20-rc3/net/ipv4/devinet.c 2007-01-05 11:55:32.000000000 +0100
@@ -174,9 +174,10 @@ struct in_device *inetdev_init(struct ne
ip_mc_init_dev(in_dev);
if (dev->flags & IFF_UP)
ip_mc_up(in_dev);
-out:
+
/* we can receive as soon as ip_ptr is set -- do this last */
rcu_assign_pointer(dev->ip_ptr, in_dev);
+out:
return in_dev;
out_kfree:
kfree(in_dev);
-
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