After the process exits, the following three dentries still refer to the pid:
/proc/<pid>
/proc/<pid>/ns
/proc/<pid>/ns/pid
https://bugzilla.kernel.org/show_bug.cgi?id=208613
According to the commit f333c700c610 ("pidns: Add a limit on the number of
pid namespaces"), if the pid cannot be released, it may result in the
inability to create a new pid_ns.
Please backport the following patches to the kernel stable trees (from 4.9.y
to 5.6.y):
7bc3e6e55acf ("proc: Use a list of inodes to flush from proc")
26dbc60f385f ("proc: Generalize proc_sys_prune_dcache into proc_prune_siblings_dcache")
f90f3cafe8d5 ("proc: Use d_invalidate in proc_prune_siblings_dcache")
Signed-off-by: Wen Yang <[email protected]>
Cc: Eric W. Biederman <[email protected]>
Cc: [email protected]
Cc: [email protected]
On Thu, Oct 08, 2020 at 09:00:21PM +0800, Wen Yang wrote:
> After the process exits, the following three dentries still refer to the pid:
> /proc/<pid>
> /proc/<pid>/ns
> /proc/<pid>/ns/pid
>
> https://bugzilla.kernel.org/show_bug.cgi?id=208613
>
> According to the commit f333c700c610 ("pidns: Add a limit on the number of
> pid namespaces"), if the pid cannot be released, it may result in the
> inability to create a new pid_ns.
>
> Please backport the following patches to the kernel stable trees (from 4.9.y
> to 5.6.y):
> 7bc3e6e55acf ("proc: Use a list of inodes to flush from proc")
> 26dbc60f385f ("proc: Generalize proc_sys_prune_dcache into proc_prune_siblings_dcache")
> f90f3cafe8d5 ("proc: Use d_invalidate in proc_prune_siblings_dcache")
>
> Signed-off-by: Wen Yang <[email protected]>
> Cc: Eric W. Biederman <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
How well did you test these backports? I see at least one fix for them
that you missed, odds are there might have been more. Please verify
that the above list of patches _really_ is what you want to have
applied, and that you have tested it properly.
thanks,
greg k-h