Thread (64 messages) 64 messages, 7 authors, 2007-01-12
STALE7083d

[PATCH] devinet: inetdev_init out label moved after RCU assignment

From: Jarek Poplawski <hidden>
Date: 2007-01-05 11:17:29

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:
quoted
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 <redacted>

---

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);
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help