diff options
Diffstat (limited to 'sys/kern/sysv_shm.c')
-rw-r--r-- | sys/kern/sysv_shm.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/sysv_shm.c b/sys/kern/sysv_shm.c index 1430942..0b016f1 100644 --- a/sys/kern/sysv_shm.c +++ b/sys/kern/sysv_shm.c @@ -822,14 +822,14 @@ shmexit_myhook(struct vmspace *vm) struct shmmap_state *base, *shm; int i; - GIANT_REQUIRED; - if ((base = vm->vm_shm) != NULL) { vm->vm_shm = NULL; + mtx_lock(&Giant); for (i = 0, shm = base; i < shminfo.shmseg; i++, shm++) { if (shm->shmid != -1) shm_delete_mapping(vm, shm); } + mtx_unlock(&Giant); free(base, M_SHM); } } |