signals: send_sigqueue: don't take rcu lock
authorOleg Nesterov <oleg@tv-sign.ru>
Wed, 30 Apr 2008 07:52:48 +0000 (00:52 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 30 Apr 2008 15:29:35 +0000 (08:29 -0700)
lock_task_sighand() was changed, send_sigqueue() doesn't need rcu_read_lock()
any longer.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
kernel/signal.c

index f92e6298930cf991be09c2d6a72c749def0481c2..0a8b0aece80d9f7b52a62d41b4804d2796753cd9 100644 (file)
@@ -1311,8 +1311,6 @@ int send_sigqueue(int sig, struct sigqueue *q, struct task_struct *p)
         * 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 sigqueue *q, struct task_struct *p)
 
        unlock_task_sighand(p, &flags);
 out_err:
-       rcu_read_unlock();
-
        return ret;
 }