patch-2.4.0-test11 linux/fs/fcntl.c

Next file: linux/fs/file_table.c
Previous file: linux/fs/fat/inode.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test10/linux/fs/fcntl.c linux/fs/fcntl.c
@@ -391,13 +391,13 @@
 			   back to SIGIO in that case. --sct */
 			si.si_signo = fown->signum;
 			si.si_errno = 0;
-		        si.si_code  = reason;
+		        si.si_code  = reason & ~__SI_MASK;
 			/* Make sure we are called with one of the POLL_*
 			   reasons, otherwise we could leak kernel stack into
 			   userspace.  */
 			if ((reason & __SI_MASK) != __SI_POLL)
 				BUG();
-			if (reason - POLL_IN > NSIGPOLL)
+			if (reason - POLL_IN >= NSIGPOLL)
 				si.si_band  = ~0L;
 			else
 				si.si_band = band_table[reason - POLL_IN];

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)