Commit 310928d9 authored by Daniel Lezcano's avatar Daniel Lezcano Committed by David S. Miller

[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: default avatarDaniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 93ee31f1
...@@ -112,6 +112,8 @@ out_undo: ...@@ -112,6 +112,8 @@ out_undo:
if (ops->exit) if (ops->exit)
ops->exit(net); ops->exit(net);
} }
rcu_barrier();
goto out; goto out;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment