Module Name: src Committed By: kamil Date: Sat Feb 11 19:32:41 UTC 2017
Modified Files: src/sys/kern: sys_ptrace_common.c Log Message: Be paranoid about PT_SET_SIGINFO and PT_GET_SIGINFO in ptrace(2) Currently a tracer is prohibited to read and write memory of a tracee. Prohibit reading and faking signal information. Sponsored by <The NetBSD Foundation> To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/sys/kern/sys_ptrace_common.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/kern/sys_ptrace_common.c diff -u src/sys/kern/sys_ptrace_common.c:1.12 src/sys/kern/sys_ptrace_common.c:1.13 --- src/sys/kern/sys_ptrace_common.c:1.12 Thu Jan 26 03:54:01 2017 +++ src/sys/kern/sys_ptrace_common.c Sat Feb 11 19:32:41 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: sys_ptrace_common.c,v 1.12 2017/01/26 03:54:01 christos Exp $ */ +/* $NetBSD: sys_ptrace_common.c,v 1.13 2017/02/11 19:32:41 kamil Exp $ */ /*- * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc. @@ -118,7 +118,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: sys_ptrace_common.c,v 1.12 2017/01/26 03:54:01 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sys_ptrace_common.c,v 1.13 2017/02/11 19:32:41 kamil Exp $"); #ifdef _KERNEL_OPT #include "opt_ptrace.h" @@ -404,6 +404,8 @@ do_ptrace(struct ptrace_methods *ptm, st case PT_WRITE_I: case PT_WRITE_D: case PT_IO: + case PT_SET_SIGINFO: + case PT_GET_SIGINFO: #ifdef PT_GETREGS case PT_GETREGS: #endif @@ -451,8 +453,6 @@ do_ptrace(struct ptrace_methods *ptm, st case PT_SET_EVENT_MASK: case PT_GET_EVENT_MASK: case PT_GET_PROCESS_STATE: - case PT_SET_SIGINFO: - case PT_GET_SIGINFO: /* * You can't do what you want to the process if: * (1) It's not being traced at all,