CVSROOT: /home/cvs
Module name: linux
Changes by: ralf@ftp.linux-mips.org 05/05/23 11:59:54
Modified files:
arch/mips/kernel: ptrace.c ptrace32.c
Log message:
Verify signal number in PTRACE_SYSCALL / PTRACE_CONT with valid_signal.
diff -urN linux/arch/mips/kernel/ptrace.c linux/arch/mips/kernel/ptrace.c
--- linux/arch/mips/kernel/ptrace.c 2005/05/19 12:08:12 1.62
+++ linux/arch/mips/kernel/ptrace.c 2005/05/23 10:59:53 1.63
@@ -259,7 +259,7 @@
case PTRACE_SYSCALL: /* continue and stop at next (return from) syscall
*/
case PTRACE_CONT: { /* restart after signal. */
ret = -EIO;
- if ((unsigned long) data > _NSIG)
+ if (!valid_signal(data))
break;
if (request == PTRACE_SYSCALL) {
set_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
diff -urN linux/arch/mips/kernel/ptrace32.c linux/arch/mips/kernel/ptrace32.c
--- linux/arch/mips/kernel/ptrace32.c 2005/04/13 17:43:59 1.6
+++ linux/arch/mips/kernel/ptrace32.c 2005/05/23 10:59:53 1.7
@@ -241,7 +241,7 @@
case PTRACE_SYSCALL: /* continue and stop at next (return from) syscall
*/
case PTRACE_CONT: { /* restart after signal. */
ret = -EIO;
- if ((unsigned int) data > _NSIG)
+ if (!valid_signal(data))
break;
if (request == PTRACE_SYSCALL) {
set_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
|