diff options
Diffstat (limited to 'sys/fs/procfs')
-rw-r--r-- | sys/fs/procfs/procfs_map.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/fs/procfs/procfs_map.c b/sys/fs/procfs/procfs_map.c index 889f6b1..b3d6c9b 100644 --- a/sys/fs/procfs/procfs_map.c +++ b/sys/fs/procfs/procfs_map.c @@ -103,7 +103,8 @@ procfs_domap(curp, p, pfs, uio) return (0); error = 0; - vm_map_lock(map); + if (map != &curproc->p_vmspace->vm_map) + vm_map_lock(map); for (entry = map->header.next; ((uio->uio_resid > 0) && (entry != &map->header)); entry = entry->next) { @@ -174,7 +175,8 @@ case OBJT_DEVICE: if (error) break; } - vm_map_unlock(map); + if (map != &curproc->p_vmspace->vm_map) + vm_map_unlock(map); return error; } |