From: Alexey Dobriyan crap, Pavel reminded that get_proc_task() can return NULL. Signed-off-by: Alexey Dobriyan Cc: "Eric W. Biederman" Cc: James Morris Cc: Chris Wright Cc: Ulrich Drepper Cc: Oleg Nesterov Cc: Kirill Korotaev Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton --- fs/proc/base.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff -puN fs/proc/base.c~allow-access-to-proc-pid-fd-after-setuid-update fs/proc/base.c --- a/fs/proc/base.c~allow-access-to-proc-pid-fd-after-setuid-update +++ a/fs/proc/base.c @@ -1461,9 +1461,11 @@ static int proc_fd_permission(struct ino if (rv == 0) return 0; tsk = get_proc_task(inode); - if (tsk == current) - rv = 0; - put_task_struct(tsk); + if (tsk) { + if (tsk == current) + rv = 0; + put_task_struct(tsk); + } return rv; } _