Revert "proc: Point /proc/{mounts,net} at /proc/thread-self/{mounts,net} instead...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 11 Aug 2014 04:24:59 +0000 (21:24 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 11 Aug 2014 04:24:59 +0000 (21:24 -0700)
commit155134fef2b6c7426c3f25ffe84fb3043167c860
tree15caf4a9c0e359002f8771a8cdb60ee2c19578fd
parent58d08e3b2c2033354b91467da33deffa06360c28
Revert "proc: Point /proc/{mounts,net} at /proc/thread-self/{mounts,net} instead of /proc/self/{mounts,net}"

This reverts commits 344470cac42e and e81324407269.

It turns out that the exact path in the symlink matters, if for somewhat
unfortunate reasons: some apparmor configurations don't allow dhclient
access to the per-thread /proc files.  As reported by Jörg Otte:

  audit: type=1400 audit(1407684227.003:28): apparmor="DENIED"
    operation="open" profile="/sbin/dhclient"
    name="/proc/1540/task/1540/net/dev" pid=1540 comm="dhclient"
    requested_mask="r" denied_mask="r" fsuid=0 ouid=0

so we had better revert this for now.  We might be able to work around
this in practice by only using the per-thread symlinks if the thread
isn't the thread group leader, and if the namespaces differ between
threads (which basically never happens).

We'll see. In the meantime, the revert was made to be intentionally easy.

Reported-by: Jörg Otte <jrg.otte@gmail.com>
Acked-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/proc/proc_net.c
fs/proc/root.c