Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -112,6 +112,8 @@ static int setup_net(struct net *net)
		if (ops->exit)
		if (ops->exit)
			ops->exit(net);
			ops->exit(net);
	}
	}

	rcu_barrier();
	goto out;
	goto out;
}
}