From: Alexey Dobriyan Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton --- fs/proc/base.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff -puN fs/proc/base.c~allow-access-to-proc-pid-fd-after-setuid-update-2 fs/proc/base.c --- a/fs/proc/base.c~allow-access-to-proc-pid-fd-after-setuid-update-2 +++ a/fs/proc/base.c @@ -1454,18 +1454,13 @@ static struct file_operations proc_fd_op static int proc_fd_permission(struct inode *inode, int mask, struct nameidata *nd) { - struct task_struct *tsk; int rv; rv = generic_permission(inode, mask, NULL); if (rv == 0) return 0; - tsk = get_proc_task(inode); - if (tsk) { - if (tsk == current) - rv = 0; - put_task_struct(tsk); - } + if (task_pid(current) == proc_pid(inode)) + rv = 0; return rv; } _