[REVIEW][PATCH 0/4] /proc/thread-self

From: Eric W. Biederman
Date: Thu Jul 31 2014 - 20:34:40 EST



This patchset implements /proc/thread-self a magic symlink that
solves a couple of problems.

- It makes it easy to get to a specific threads directory in /proc
with gettid() not being exported in glibc this is currently a pain.

- It allows fixing the problem present in /proc/mounts and /proc/net
that when the thread group leader exits but the entire thread group
remains /proc/self/net and /proc/self/mounts and thus /proc/mounts and
/proc/net become empty.

- As mount and network namespaces are per thread it allows /proc/net and
/proc/mounts to reflect this.

This is small chance changing /proc/net and /proc/mounts will cause
userspace regressions (although nothing has shown up in my testing) if
that happens we can just point the change that moves them from
/proc/self/... to /proc/thread-self/...

Eric W. Biederman (4):
proc: Have net show up under /proc/<tgid>/task/<tid>
proc: Implement /proc/thread-self to point at the directory of the current thread
proc: Point /proc/net at /proc/thread-self/net instead of /proc/self/net
proc: Point /proc/mounts at /proc/thread-self/mounts instead of /proc/self/mounts

fs/proc/Makefile | 1 +
fs/proc/base.c | 18 ++++++---
fs/proc/inode.c | 7 +++-
fs/proc/internal.h | 6 +++
fs/proc/proc_net.c | 2 +-
fs/proc/root.c | 5 ++-
fs/proc/thread_self.c | 85 +++++++++++++++++++++++++++++++++++++++++++
include/linux/pid_namespace.h | 1 +
8 files changed, 117 insertions(+), 8 deletions(-)

Eric
--
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/