The branch main has been updated by kib:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=e578fd853a251c04d1eeb55c3aa499f8d0cb7480

commit e578fd853a251c04d1eeb55c3aa499f8d0cb7480
Author:     Konstantin Belousov <[email protected]>
AuthorDate: 2024-10-08 17:43:38 +0000
Commit:     Konstantin Belousov <[email protected]>
CommitDate: 2024-10-09 11:28:12 +0000

    shm_alloc(): cleanup
    
    Consistently use the shorter name 'obj' for the new object.
    Set OBJ_POSIXSHM flag outside if, it is set on both pathes.
    
    Suggested by:   alc
    Reviewed by:    alc, markj
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D47018
---
 sys/kern/uipc_shm.c | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/sys/kern/uipc_shm.c b/sys/kern/uipc_shm.c
index f6861a3278ff..141d386af396 100644
--- a/sys/kern/uipc_shm.c
+++ b/sys/kern/uipc_shm.c
@@ -945,24 +945,20 @@ shm_alloc(struct ucred *ucred, mode_t mode, bool 
largepage)
        shmfd->shm_gid = ucred->cr_gid;
        shmfd->shm_mode = mode;
        if (largepage) {
-               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 = phys_pager_allocate(NULL, &shm_largepage_phys_ops,
+                   NULL, shmfd->shm_size, VM_PROT_DEFAULT, 0, ucred);
                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;

Reply via email to