Re: [PATCH nf-next] netns: add and use net_ns_barrier
From: Pablo Neira Ayuso <pablo@netfilter.org>
Date: 2017-06-12 08:47:16
Also in:
netfilter-devel
On Wed, May 31, 2017 at 01:13:32PM -0500, Eric W. Biederman wrote:
Florian Westphal [off-list ref] writes:quoted
Quoting Joe Stringer: If a user loads nf_conntrack_ftp, sends FTP traffic through a network namespace, destroys that namespace then unloads the FTP helper module, then the kernel will crash. Events that lead to the crash: 1. conntrack is created with ftp helper in netns x 2. This netns is destroyed 3. netns destruction is scheduled 4. netns destruction wq starts, removes netns from global list 5. ftp helper is unloaded, which resets all helpers of the conntracks via for_each_net() but because netns is already gone from list the for_each_net() loop doesn't include it, therefore all of these conntracks are unaffected. 6. helper module unload finishes 7. netns wq invokes destructor for rmmod'ed helper CC: "Eric W. Biederman" <redacted> Reported-by: Joe Stringer <redacted> Signed-off-by: Florian Westphal <fw@strlen.de> --- Eric, I'd like an explicit (n)ack from you for this one.This doesn't look too scary but I have the impression we have addressed this elsewhere with a different solution.
Eric, so you hold your nose there and I take this ;-) Or let me know if you want a different path. Thanks !