aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@tv-sign.ru>2008-04-30 03:52:48 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-04-30 11:29:35 -0400
commit5c193e8871b76f3bf8ed1e31f7af7c70890ebc4f (patch)
tree533b708c86908e8d1a439ef63a1c1515871715d7
parentf6b76d4fb0039e077824be85ed4ac94e96beef86 (diff)
signals: send_sigqueue: don't take rcu lock
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>
-rw-r--r--kernel/signal.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/kernel/signal.c b/kernel/signal.c
index f92e6298930c..0a8b0aece80d 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -1311,8 +1311,6 @@ int send_sigqueue(int sig, struct sigqueue *q, struct task_struct *p)
1311 * We return -1, when the task is marked exiting, so 1311 * We return -1, when the task is marked exiting, so
1312 * posix_timer_event can redirect it to the group leader 1312 * posix_timer_event can redirect it to the group leader
1313 */ 1313 */
1314 rcu_read_lock();
1315
1316 if (!likely(lock_task_sighand(p, &flags))) 1314 if (!likely(lock_task_sighand(p, &flags)))
1317 goto out_err; 1315 goto out_err;
1318 1316
@@ -1323,8 +1321,6 @@ int send_sigqueue(int sig, struct sigqueue *q, struct task_struct *p)
1323 1321
1324 unlock_task_sighand(p, &flags); 1322 unlock_task_sighand(p, &flags);
1325out_err: 1323out_err:
1326 rcu_read_unlock();
1327
1328 return ret; 1324 return ret;
1329} 1325}
1330 1326