lkml.org 
[lkml]   [2008]   [May]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH 1/2] signals: collect_signal: remove the unneeded sigismember() check
collect_signal() checks sigismember(&list->signal, sig), this is not needed.
This "sig" was just found by next_signal(), so it must be valid.

We have a (completely broken) call to ->notifier in between, but it must not
play with sigpending->signal bits or unlock ->siglock.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>

--- 25/kernel/signal.c~7_CS_NO_CHECK 2008-05-17 18:07:10.000000000 +0400
+++ 25/kernel/signal.c 2008-05-17 18:41:28.000000000 +0400
@@ -309,9 +309,6 @@ static int collect_signal(int sig, struc
struct sigqueue *q, *first = NULL;
int still_pending = 0;

- if (unlikely(!sigismember(&list->signal, sig)))
- return 0;
-
/*
* Collect the siginfo appropriate to this signal. Check if
* there is another siginfo for the same signal.


\
 
 \ /
  Last update: 2008-05-17 17:15    [W:0.046 / U:0.740 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site