Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Oct 2024 11:42:35 GMT
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: e578fd853a25 - main - shm_alloc(): cleanup
Message-ID:  <202410091142.499BgZIm072531@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by kib:

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

commit e578fd853a251c04d1eeb55c3aa499f8d0cb7480
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2024-10-08 17:43:38 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202410091142.499BgZIm072531>