Page MenuHomeFreeBSD

D47018.id144503.diff
No OneTemporary

D47018.id144503.diff

diff --git a/sys/kern/uipc_shm.c b/sys/kern/uipc_shm.c
--- a/sys/kern/uipc_shm.c
+++ b/sys/kern/uipc_shm.c
@@ -948,21 +948,18 @@
obj = shmfd->shm_object = phys_pager_allocate(NULL,
&shm_largepage_phys_ops, NULL, shmfd->shm_size,
VM_PROT_DEFAULT, 0, ucred);
- VM_OBJECT_WLOCK(shmfd->shm_object);
obj->un_pager.phys.phys_priv = shmfd;
- vm_object_set_flag(obj, OBJ_POSIXSHM);
- VM_OBJECT_WUNLOCK(shmfd->shm_object);
shmfd->shm_lp_alloc_policy = SHM_LARGEPAGE_ALLOC_DEFAULT;
} else {
obj = vm_pager_allocate(shmfd_pager_type, NULL,
shmfd->shm_size, VM_PROT_DEFAULT, 0, ucred);
- VM_OBJECT_WLOCK(obj);
obj->un_pager.swp.swp_priv = shmfd;
- vm_object_set_flag(obj, OBJ_POSIXSHM);
- VM_OBJECT_WUNLOCK(obj);
- shmfd->shm_object = obj;
}
- KASSERT(shmfd->shm_object != NULL, ("shm_create: vm_pager_allocate"));
+ KASSERT(obj != NULL, ("shm_create: vm_pager_allocate"));
+ VM_OBJECT_WLOCK(obj);
+ vm_object_set_flag(obj, OBJ_POSIXSHM);
+ VM_OBJECT_WUNLOCK(obj);
+ shmfd->shm_object = obj;
vfs_timestamp(&shmfd->shm_birthtime);
shmfd->shm_atime = shmfd->shm_mtime = shmfd->shm_ctime =
shmfd->shm_birthtime;

File Metadata

Mime Type
text/plain
Expires
Sun, Feb 8, 4:30 PM (16 h, 50 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28473500
Default Alt Text
D47018.id144503.diff (1 KB)

Event Timeline