Ignore processes with PK_MARKER set.

This commit is contained in:
ad 2008-04-29 15:55:24 +00:00
parent ddeba2439c
commit 1074fa7182
2 changed files with 8 additions and 5 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: irix_exec.c,v 1.51 2008/04/28 20:23:41 martin Exp $ */ /* $NetBSD: irix_exec.c,v 1.52 2008/04/29 15:56:11 ad Exp $ */
/*- /*-
* Copyright (c) 2001-2002 The NetBSD Foundation, Inc. * Copyright (c) 2001-2002 The NetBSD Foundation, Inc.
@ -30,7 +30,7 @@
*/ */
#include <sys/cdefs.h> #include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: irix_exec.c,v 1.51 2008/04/28 20:23:41 martin Exp $"); __KERNEL_RCSID(0, "$NetBSD: irix_exec.c,v 1.52 2008/04/29 15:56:11 ad Exp $");
#ifdef _KERNEL_OPT #ifdef _KERNEL_OPT
#include "opt_syscall_debug.h" #include "opt_syscall_debug.h"
@ -187,6 +187,8 @@ irix_e_proc_exit(struct proc *p)
*/ */
mutex_enter(proc_lock); mutex_enter(proc_lock);
PROCLIST_FOREACH(pp, &allproc) { PROCLIST_FOREACH(pp, &allproc) {
if ((pp->p_flag & PK_MARKER) != 0)
continue;
/* Select IRIX processes */ /* Select IRIX processes */
if (irix_check_exec(pp) == 0) if (irix_check_exec(pp) == 0)
continue; continue;

View File

@ -1,4 +1,4 @@
/* $NetBSD: kern_sig.c,v 1.282 2008/04/29 15:51:23 ad Exp $ */ /* $NetBSD: kern_sig.c,v 1.283 2008/04/29 15:55:24 ad Exp $ */
/*- /*-
* Copyright (c) 2006, 2007, 2008 The NetBSD Foundation, Inc. * Copyright (c) 2006, 2007, 2008 The NetBSD Foundation, Inc.
@ -66,7 +66,7 @@
*/ */
#include <sys/cdefs.h> #include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: kern_sig.c,v 1.282 2008/04/29 15:51:23 ad Exp $"); __KERNEL_RCSID(0, "$NetBSD: kern_sig.c,v 1.283 2008/04/29 15:55:24 ad Exp $");
#include "opt_ptrace.h" #include "opt_ptrace.h"
#include "opt_multiprocessor.h" #include "opt_multiprocessor.h"
@ -777,7 +777,8 @@ killpg1(struct lwp *l, ksiginfo_t *ksi, int pgid, int all)
* broadcast * broadcast
*/ */
PROCLIST_FOREACH(p, &allproc) { PROCLIST_FOREACH(p, &allproc) {
if (p->p_pid <= 1 || p->p_flag & PK_SYSTEM || p == cp) if (p->p_pid <= 1 || p == cp ||
p->p_flag & (PK_SYSTEM|PK_MARKER))
continue; continue;
mutex_enter(p->p_lock); mutex_enter(p->p_lock);
if (kauth_authorize_process(pc, if (kauth_authorize_process(pc,