
From: george anzinger <george@mvista.com>

- Fix the sig_notify filtering code for the timer_create system call to
  properly check for the signal number being small enought, but only if
  SIG_NONE is not specified.

- Eliminate useless test of sig_notify.



 kernel/posix-timers.c |    5 +----
 1 files changed, 1 insertion(+), 4 deletions(-)

diff -puN kernel/posix-timers.c~hrtimers-fix-signone kernel/posix-timers.c
--- 25/kernel/posix-timers.c~hrtimers-fix-signone	2003-05-07 09:58:03.000000000 -0700
+++ 25-akpm/kernel/posix-timers.c	2003-05-07 09:58:03.000000000 -0700
@@ -357,13 +357,10 @@ static inline struct task_struct * good_
 			rtn->tgid != current->tgid))
 		return NULL;
 
-	if ((event->sigev_notify & SIGEV_SIGNAL & MIPS_SIGEV) &&
+	if ((event->sigev_notify & ~SIGEV_NONE & MIPS_SIGEV) &&
 			((unsigned) (event->sigev_signo > SIGRTMAX)))
 		return NULL;
 
-	if (event->sigev_notify & ~(SIGEV_SIGNAL | SIGEV_THREAD_ID))
-		return NULL;
-
 	return rtn;
 }
 

_
