Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=310928d9633b04866a47f07eb43c498b2d82ebcb
Commit:     310928d9633b04866a47f07eb43c498b2d82ebcb
Parent:     93ee31f14f6f7b5b427c2fdc715d5571eb0be9e5
Author:     Daniel Lezcano <[EMAIL PROTECTED]>
AuthorDate: Tue Oct 30 15:38:57 2007 -0700
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Tue Oct 30 21:16:21 2007 -0700

    [NETNS]: fix net released by rcu callback
    
    When a network namespace reference is held by a network subsystem,
    and when this reference is decremented in a rcu update callback, we
    must ensure that there is no more outstanding rcu update before
    trying to free the network namespace.
    
    In the normal case, the rcu_barrier is called when the network namespace
    is exiting in the cleanup_net function.
    
    But when a network namespace creation fails, and the subsystems are
    undone (like the cleanup), the rcu_barrier is missing.
    
    This patch adds the missing rcu_barrier.
    
    Signed-off-by: Daniel Lezcano <[EMAIL PROTECTED]>
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
---
 net/core/net_namespace.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/net/core/net_namespace.c b/net/core/net_namespace.c
index 6f71db8..662e6ea 100644
--- a/net/core/net_namespace.c
+++ b/net/core/net_namespace.c
@@ -112,6 +112,8 @@ out_undo:
                if (ops->exit)
                        ops->exit(net);
        }
+
+       rcu_barrier();
        goto out;
 }
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to