send_sigio_to_task: sanitize the usage of fown->signum
authorOleg Nesterov <oleg@redhat.com>
Tue, 16 Jun 2009 22:27:10 +0000 (00:27 +0200)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 16 Jun 2009 22:36:17 +0000 (15:36 -0700)
commit8eeee4e2f04fc551f50c9d9847da2d73d7d33728
treec5b7a2c9b912369c82506f8363b8eb10538f5d8e
parentf83b1e616f2f68b56b09b2f5116591981fee0c1c
send_sigio_to_task: sanitize the usage of fown->signum

send_sigio_to_task() reads fown->signum several times, we can race with
F_SETSIG which changes ->signum lockless.  In theory, this can fool
security checks or we can call group_send_sig_info() with the wrong
->si_signo which does not match "int sig".

Change the code to cache ->signum.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/fcntl.c