diff options
| author | Alexey Dobriyan <[email protected]> | 2007-05-08 00:23:35 -0700 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2007-05-08 11:14:58 -0700 |
| commit | 8948e11f450e6189a79e47d6051c3d5a0b98e3f3 (patch) | |
| tree | 8cc904873cc1a8506970cf1e4a328c318a7fc4d7 /fs/proc/array.c | |
| parent | ab1b6f03a10ba1f5638188ab06bf46e33ac3a160 (diff) | |
Allow access to /proc/$PID/fd after setuid()
/proc/$PID/fd has r-x------ permissions, so if process does setuid(), it
will not be able to access /proc/*/fd/. This breaks fstatat() emulation
in glibc.
open("foo", O_RDONLY|O_DIRECTORY) = 4
setuid32(65534) = 0
stat64("/proc/self/fd/4/bar", 0xbfafb298) = -1 EACCES (Permission denied)
Signed-off-by: Alexey Dobriyan <[email protected]>
Cc: "Eric W. Biederman" <[email protected]>
Cc: James Morris <[email protected]>
Cc: Chris Wright <[email protected]>
Cc: Ulrich Drepper <[email protected]>
Cc: Oleg Nesterov <[email protected]>
Acked-By: Kirill Korotaev <[email protected]>
Cc: Al Viro <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'fs/proc/array.c')
0 files changed, 0 insertions, 0 deletions