/proc/[pid]/ns/mnt 是如何在内核中被 clone 创建的?

How is /proc/[pid]/ns/mnt created by clone in kernel?

我知道 clone 函数创建 /proc/[pid]/ns/mnt link。但是我找不到它在哪里调用类似 proc_mkdir 的东西来创建这样的目录。

clone() 不会在 /proc.

中创建任何内容

当您打开 /proc/[pid]/ns/mnt 时,VFS 中的路径查找逻辑找到 /proc,然后到达 proc_root_lookup()

从那里它转到 proc_pid_lookup()proc_pid_instantiate(),它通过 proc_pid_make_inode()/proc/[pid] 动态创建一个 in-memory 目录 inode。