diff options
author | kib <kib@FreeBSD.org> | 2016-07-22 17:34:58 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2016-07-22 17:34:58 +0000 |
commit | b799c26f61472eef1fe5dda3c7d34e38d3a75e06 (patch) | |
tree | 66364dbebe1b38d00411c0edd89e481bc6bc0c2b /sys/kern/sys_process.c | |
parent | 5aa5e047c6830259149520f8dec281e51445a349 (diff) | |
download | FreeBSD-src-b799c26f61472eef1fe5dda3c7d34e38d3a75e06.zip FreeBSD-src-b799c26f61472eef1fe5dda3c7d34e38d3a75e06.tar.gz |
MFC r302919:
In ptrace_vm_entry(), do not call vmspace_free() while owning a vm
object lock.
Approved by: re (gjb)
Diffstat (limited to 'sys/kern/sys_process.c')
-rw-r--r-- | sys/kern/sys_process.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c index a6037e3..af71ea8 100644 --- a/sys/kern/sys_process.c +++ b/sys/kern/sys_process.c @@ -433,7 +433,6 @@ ptrace_vm_entry(struct thread *td, struct proc *p, struct ptrace_vm_entry *pve) } while (0); vm_map_unlock_read(map); - vmspace_free(vm); pve->pve_fsid = VNOVAL; pve->pve_fileid = VNOVAL; @@ -478,6 +477,7 @@ ptrace_vm_entry(struct thread *td, struct proc *p, struct ptrace_vm_entry *pve) free(freepath, M_TEMP); } } + vmspace_free(vm); if (error == 0) CTR3(KTR_PTRACE, "PT_VM_ENTRY: pid %d, entry %d, start %p", p->p_pid, pve->pve_entry, pve->pve_start); |