Re: [RFC PATCH] namespaces: fix leak on fork() failure

From: Mike Galbraith
Date: Mon Apr 30 2012 - 09:57:50 EST


On Sat, 2012-04-28 at 11:19 +0200, Mike Galbraith wrote:

> There's still at least one pid
> namespace leak left, that being the final put_pid() in softirq context
> goes missing.

Ah..

vsftpd-14507 [003] .... 1467.046189: proc_set_super: get_pid_ns: 0xffff8801dc560998 count:1->2
vsftpd-14507 [003] .... 1467.046201: create_pid_namespace: create_pid_namespace: 0xffff8801dc560998
vsftpd-14507 [003] .... 1467.046206: alloc_pid: get_pid_ns: 0xffff8801dc560998 count:2->3
vsftpd-14521 [003] .... 1467.052481: switch_task_namespaces: exiting: 0xffff8801dc560998 count:3
vsftpd-14521 [003] .... 1467.073823: free_nsproxy: put_pid_ns: 0xffff8801dc560998 count:3->2
vsftpd-14507 [003] .... 1467.173657: put_pid: namespace: 0xffff8801dc560998 pid count:2->1 pid_ns count:2
vsftpd-14507 [003] .... 1467.173677: proc_kill_sb: put_pid_ns: 0xffff8801dc560998 count:2->1
<idle>-0 [003] ..s. 1467.213562: put_pid: namespace: 0xffff8801dc560998 pid count:6->5 pid_ns count:1

..somebody grabs pid references while we wait for rcu destruction.

-Mike

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/