From: Oleg Nesterov lock_task_sighand() was changed, send_sigqueue() doesn't need rcu_read_lock() any longer. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton --- kernel/signal.c | 4 ---- 1 file changed, 4 deletions(-) diff -puN kernel/signal.c~signals-send_sigqueue-dont-take-rcu-lock kernel/signal.c --- a/kernel/signal.c~signals-send_sigqueue-dont-take-rcu-lock +++ a/kernel/signal.c @@ -1311,8 +1311,6 @@ int send_sigqueue(int sig, struct sigque * We return -1, when the task is marked exiting, so * posix_timer_event can redirect it to the group leader */ - rcu_read_lock(); - if (!likely(lock_task_sighand(p, &flags))) goto out_err; @@ -1323,8 +1321,6 @@ int send_sigqueue(int sig, struct sigque unlock_task_sighand(p, &flags); out_err: - rcu_read_unlock(); - return ret; } _