Clear the P_INEXEC flag in other labels. Pointed out by he@netbsd.org
This commit is contained in:
parent
d6bd9425bf
commit
83990b1879
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: kern_exec.c,v 1.149 2002/01/11 21:16:27 christos Exp $ */
|
/* $NetBSD: kern_exec.c,v 1.150 2002/01/12 14:20:30 christos Exp $ */
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* Copyright (C) 1993, 1994, 1996 Christopher G. Demetriou
|
* Copyright (C) 1993, 1994, 1996 Christopher G. Demetriou
|
||||||
@ -33,7 +33,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/cdefs.h>
|
#include <sys/cdefs.h>
|
||||||
__KERNEL_RCSID(0, "$NetBSD: kern_exec.c,v 1.149 2002/01/11 21:16:27 christos Exp $");
|
__KERNEL_RCSID(0, "$NetBSD: kern_exec.c,v 1.150 2002/01/12 14:20:30 christos Exp $");
|
||||||
|
|
||||||
#include "opt_ktrace.h"
|
#include "opt_ktrace.h"
|
||||||
#include "opt_syscall_debug.h"
|
#include "opt_syscall_debug.h"
|
||||||
@ -721,6 +721,7 @@ sys_execve(struct proc *p, void *v, register_t *retval)
|
|||||||
uvm_km_free_wakeup(exec_map, (vaddr_t) argp, NCARGS);
|
uvm_km_free_wakeup(exec_map, (vaddr_t) argp, NCARGS);
|
||||||
|
|
||||||
freehdr:
|
freehdr:
|
||||||
|
p->p_flag &= ~P_INEXEC;
|
||||||
#ifdef LKM
|
#ifdef LKM
|
||||||
lockmgr(&exec_lock, LK_RELEASE, NULL);
|
lockmgr(&exec_lock, LK_RELEASE, NULL);
|
||||||
#endif
|
#endif
|
||||||
@ -729,6 +730,7 @@ sys_execve(struct proc *p, void *v, register_t *retval)
|
|||||||
return error;
|
return error;
|
||||||
|
|
||||||
exec_abort:
|
exec_abort:
|
||||||
|
p->p_flag &= ~P_INEXEC;
|
||||||
#ifdef LKM
|
#ifdef LKM
|
||||||
lockmgr(&exec_lock, LK_RELEASE, NULL);
|
lockmgr(&exec_lock, LK_RELEASE, NULL);
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user