Symbol: shmfd
lib/libprocstat/libprocstat.c
1186
struct shmfd shmfd;
lib/libprocstat/libprocstat.c
1198
if (!kvm_read_all(kd, (unsigned long)shmfdp, &shmfd,
lib/libprocstat/libprocstat.c
1199
sizeof(struct shmfd))) {
lib/libprocstat/libprocstat.c
1203
shm->mode = S_IFREG | shmfd.shm_mode;
lib/libprocstat/libprocstat.c
1204
shm->size = shmfd.shm_size;
lib/libprocstat/libprocstat.c
1205
if (fst->fs_path == NULL && shmfd.shm_path != NULL) {
lib/libprocstat/libprocstat.c
1208
if (!kvm_read_all(kd, (unsigned long)shmfd.shm_path + i,
sys/kern/kern_sendfile.c
531
struct vnode **vp_res, struct shmfd **shmfd_res, off_t *obj_size)
sys/kern/kern_sendfile.c
535
struct shmfd *shmfd;
sys/kern/kern_sendfile.c
541
shmfd = *shmfd_res = NULL;
sys/kern/kern_sendfile.c
575
shmfd = fp->f_data;
sys/kern/kern_sendfile.c
576
obj = shmfd->shm_object;
sys/kern/kern_sendfile.c
578
*obj_size = shmfd->shm_size;
sys/kern/kern_sendfile.c
599
*shmfd_res = shmfd;
sys/kern/kern_sendfile.c
724
struct shmfd *shmfd;
sys/kern/kern_sendfile.c
743
error = sendfile_getobj(td, fp, &obj, &vp, &shmfd, &obj_size);
sys/kern/kern_umtx.c
4339
struct shmfd *ushm_obj;
sys/kern/kern_umtx.c
4527
struct shmfd *shm;
sys/kern/uipc_shm.c
1005
free(shmfd, M_SHMFD);
sys/kern/uipc_shm.c
1014
shm_access(struct shmfd *shmfd, struct ucred *ucred, int flags)
sys/kern/uipc_shm.c
1025
error = vaccess(VREG, shmfd->shm_mode, shmfd->shm_uid, shmfd->shm_gid,
sys/kern/uipc_shm.c
109
struct shmfd *sm_shmfd;
sys/kern/uipc_shm.c
1092
static struct shmfd *
sys/kern/uipc_shm.c
1108
shm_insert(char *path, Fnv32_t fnv, struct shmfd *shmfd)
sys/kern/uipc_shm.c
1115
map->sm_shmfd = shm_hold(shmfd);
sys/kern/uipc_shm.c
1116
shmfd->shm_path = path;
sys/kern/uipc_shm.c
1160
struct shmfd *shmfd)
sys/kern/uipc_shm.c
124
static void shm_insert(char *path, Fnv32_t fnv, struct shmfd *shmfd);
sys/kern/uipc_shm.c
1248
if (shmfd != NULL) {
sys/kern/uipc_shm.c
1249
shm_hold(shmfd);
sys/kern/uipc_shm.c
125
static struct shmfd *shm_lookup(char *path, Fnv32_t fnv);
sys/kern/uipc_shm.c
1261
shmfd = shm_alloc(td->td_ucred, cmode, largepage);
sys/kern/uipc_shm.c
1262
if (shmfd == NULL) {
sys/kern/uipc_shm.c
1267
shmfd->shm_seals = initial_seals;
sys/kern/uipc_shm.c
1268
shmfd->shm_flags = shmflags;
sys/kern/uipc_shm.c
1274
MPASS(shmfd == NULL);
sys/kern/uipc_shm.c
1275
shmfd = shm_lookup(path, fnv);
sys/kern/uipc_shm.c
1276
if (shmfd == NULL) {
sys/kern/uipc_shm.c
128
static int shm_dotruncate_cookie(struct shmfd *shmfd, off_t length,
sys/kern/uipc_shm.c
1284
shmfd = shm_alloc(td->td_ucred, cmode,
sys/kern/uipc_shm.c
1286
if (shmfd == NULL) {
sys/kern/uipc_shm.c
1289
shmfd->shm_seals =
sys/kern/uipc_shm.c
1291
shmfd->shm_flags = shmflags;
sys/kern/uipc_shm.c
1292
shm_insert(path, fnv, shmfd);
sys/kern/uipc_shm.c
130
static int shm_dotruncate_locked(struct shmfd *shmfd, off_t length,
sys/kern/uipc_shm.c
1306
rl_cookie = shm_rangelock_wlock(shmfd, 0, OFF_MAX);
sys/kern/uipc_shm.c
1316
initial_seals &= ~shmfd->shm_seals;
sys/kern/uipc_shm.c
1327
if ((shmfd->shm_seals & F_SEAL_SEAL) != 0 &&
sys/kern/uipc_shm.c
1333
else if (shmflags != 0 && shmflags != shmfd->shm_flags)
sys/kern/uipc_shm.c
1338
shmfd, FFLAGS(flags & O_ACCMODE));
sys/kern/uipc_shm.c
134
static int shm_deallocate(struct shmfd *shmfd, off_t *offset,
sys/kern/uipc_shm.c
1341
error = shm_access(shmfd, td->td_ucred,
sys/kern/uipc_shm.c
1355
td->td_ucred, fp->f_cred, shmfd);
sys/kern/uipc_shm.c
1358
error = shm_dotruncate_cookie(shmfd, 0,
sys/kern/uipc_shm.c
1367
shmfd->shm_seals |= initial_seals;
sys/kern/uipc_shm.c
1368
shm_hold(shmfd);
sys/kern/uipc_shm.c
1370
shm_rangelock_unlock(shmfd, rl_cookie);
sys/kern/uipc_shm.c
1378
finit(fp, FFLAGS(flags & O_ACCMODE), DTYPE_SHM, shmfd, &shm_ops);
sys/kern/uipc_shm.c
1432
struct shmfd *fd_from;
sys/kern/uipc_shm.c
1433
struct shmfd *fd_to;
sys/kern/uipc_shm.c
1576
shm_mmap_large(struct shmfd *shmfd, vm_map_t map, vm_offset_t *addr,
sys/kern/uipc_shm.c
1586
if (shmfd->shm_lp_psind == 0)
sys/kern/uipc_shm.c
1602
docow = shmfd->shm_lp_psind << MAP_SPLIT_BOUNDARY_SHIFT;
sys/kern/uipc_shm.c
1607
mask = pagesizes[shmfd->shm_lp_psind] - 1;
sys/kern/uipc_shm.c
1620
align = pagesizes[shmfd->shm_lp_psind];
sys/kern/uipc_shm.c
1629
shmfd->shm_lp_psind > VM_NRESERVLEVEL
sys/kern/uipc_shm.c
1631
shmfd->shm_lp_psind > 1
sys/kern/uipc_shm.c
1635
align = pagesizes[shmfd->shm_lp_psind];
sys/kern/uipc_shm.c
1640
if (align < pagesizes[shmfd->shm_lp_psind])
sys/kern/uipc_shm.c
1653
pagesizes[shmfd->shm_lp_psind]);
sys/kern/uipc_shm.c
1680
rv = vm_map_insert(map, shmfd->shm_object, foff, *addr, *addr + size,
sys/kern/uipc_shm.c
1694
struct shmfd *shmfd;
sys/kern/uipc_shm.c
1700
shmfd = fp->f_data;
sys/kern/uipc_shm.c
1703
rl_cookie = shm_rangelock_rlock(shmfd, 0, objsize);
sys/kern/uipc_shm.c
1719
(shmfd->shm_seals & F_SEAL_WRITE) == 0)
sys/kern/uipc_shm.c
1748
error = mac_posixshm_check_mmap(td->td_ucred, shmfd, prot, flags);
sys/kern/uipc_shm.c
1754
vfs_timestamp(&shmfd->shm_atime);
sys/kern/uipc_shm.c
1756
vm_object_reference(shmfd->shm_object);
sys/kern/uipc_shm.c
1758
if (shm_largepage(shmfd)) {
sys/kern/uipc_shm.c
1760
error = shm_mmap_large(shmfd, map, addr, objsize, prot,
sys/kern/uipc_shm.c
1764
vm_pager_update_writecount(shmfd->shm_object, 0,
sys/kern/uipc_shm.c
1768
shmfd->shm_object, foff, writecnt, td);
sys/kern/uipc_shm.c
1772
vm_pager_release_writecount(shmfd->shm_object, 0,
sys/kern/uipc_shm.c
1774
vm_object_deallocate(shmfd->shm_object);
sys/kern/uipc_shm.c
1777
shm_rangelock_unlock(shmfd, rl_cookie);
sys/kern/uipc_shm.c
1785
struct shmfd *shmfd;
sys/kern/uipc_shm.c
1789
shmfd = fp->f_data;
sys/kern/uipc_shm.c
1796
error = mac_posixshm_check_setmode(active_cred, shmfd, mode);
sys/kern/uipc_shm.c
1800
error = vaccess(VREG, shmfd->shm_mode, shmfd->shm_uid, shmfd->shm_gid,
sys/kern/uipc_shm.c
1804
shmfd->shm_mode = mode & ACCESSPERMS;
sys/kern/uipc_shm.c
1814
struct shmfd *shmfd;
sys/kern/uipc_shm.c
1818
shmfd = fp->f_data;
sys/kern/uipc_shm.c
1821
error = mac_posixshm_check_setowner(active_cred, shmfd, uid, gid);
sys/kern/uipc_shm.c
1826
uid = shmfd->shm_uid;
sys/kern/uipc_shm.c
1828
gid = shmfd->shm_gid;
sys/kern/uipc_shm.c
1829
if (((uid != shmfd->shm_uid && uid != active_cred->cr_uid) ||
sys/kern/uipc_shm.c
1830
(gid != shmfd->shm_gid && !groupmember(gid, active_cred))) &&
sys/kern/uipc_shm.c
1833
shmfd->shm_uid = uid;
sys/kern/uipc_shm.c
1834
shmfd->shm_gid = gid;
sys/kern/uipc_shm.c
1847
struct shmfd *shmfd;
sys/kern/uipc_shm.c
1854
shmfd = fp->f_data;
sys/kern/uipc_shm.c
1855
obj = shmfd->shm_object;
sys/kern/uipc_shm.c
1861
if (offset >= shmfd->shm_size ||
sys/kern/uipc_shm.c
1862
offset + size > round_page(shmfd->shm_size)) {
sys/kern/uipc_shm.c
1867
shmfd->shm_kmappings++;
sys/kern/uipc_shm.c
187
#define shm_rangelock_unlock(shmfd, cookie) \
sys/kern/uipc_shm.c
188
rangelock_unlock(&(shmfd)->shm_rl, (cookie))
sys/kern/uipc_shm.c
189
#define shm_rangelock_rlock(shmfd, start, end) \
sys/kern/uipc_shm.c
1892
shmfd->shm_kmappings--;
sys/kern/uipc_shm.c
190
rangelock_rlock(&(shmfd)->shm_rl, (start), (end))
sys/kern/uipc_shm.c
1905
struct shmfd *shmfd;
sys/kern/uipc_shm.c
191
#define shm_rangelock_tryrlock(shmfd, start, end) \
sys/kern/uipc_shm.c
1917
shmfd = fp->f_data;
sys/kern/uipc_shm.c
192
rangelock_tryrlock(&(shmfd)->shm_rl, (start), (end))
sys/kern/uipc_shm.c
193
#define shm_rangelock_wlock(shmfd, start, end) \
sys/kern/uipc_shm.c
1932
if (obj != shmfd->shm_object)
sys/kern/uipc_shm.c
1936
KASSERT(shmfd->shm_kmappings > 0, ("shm_unmap: object not mapped"));
sys/kern/uipc_shm.c
1937
shmfd->shm_kmappings--;
sys/kern/uipc_shm.c
194
rangelock_wlock(&(shmfd)->shm_rl, (start), (end))
sys/kern/uipc_shm.c
1943
shm_fill_kinfo_locked(struct shmfd *shmfd, struct kinfo_file *kif, bool list)
sys/kern/uipc_shm.c
1951
kif->kf_un.kf_file.kf_file_mode = S_IFREG | shmfd->shm_mode;
sys/kern/uipc_shm.c
1952
kif->kf_un.kf_file.kf_file_size = shmfd->shm_size;
sys/kern/uipc_shm.c
1953
if (shmfd->shm_path != NULL) {
sys/kern/uipc_shm.c
1954
path = shmfd->shm_path;
sys/kern/uipc_shm.c
1986
struct shmfd *shmfd;
sys/kern/uipc_shm.c
1992
shmfd = fp->f_data;
sys/kern/uipc_shm.c
1993
rl_cookie = shm_rangelock_wlock(shmfd, 0, OFF_MAX);
sys/kern/uipc_shm.c
1996
if ((shmfd->shm_seals & F_SEAL_SEAL) != 0) {
sys/kern/uipc_shm.c
2000
nseals = seals & ~shmfd->shm_seals;
sys/kern/uipc_shm.c
2002
if (shm_largepage(shmfd)) {
sys/kern/uipc_shm.c
2013
VM_OBJECT_RLOCK(shmfd->shm_object);
sys/kern/uipc_shm.c
2014
writemappings = shmfd->shm_object->un_pager.swp.writemappings;
sys/kern/uipc_shm.c
2015
VM_OBJECT_RUNLOCK(shmfd->shm_object);
sys/kern/uipc_shm.c
2022
shmfd->shm_seals |= nseals;
sys/kern/uipc_shm.c
2024
shm_rangelock_unlock(shmfd, rl_cookie);
sys/kern/uipc_shm.c
2031
struct shmfd *shmfd;
sys/kern/uipc_shm.c
2033
shmfd = fp->f_data;
sys/kern/uipc_shm.c
2034
*seals = shmfd->shm_seals;
sys/kern/uipc_shm.c
2039
shm_deallocate(struct shmfd *shmfd, off_t *offset, off_t *length, int flags)
sys/kern/uipc_shm.c
2050
if (off + len > shmfd->shm_size)
sys/kern/uipc_shm.c
2051
len = shmfd->shm_size - off;
sys/kern/uipc_shm.c
2052
object = shmfd->shm_object;
sys/kern/uipc_shm.c
2093
VM_OBJECT_WUNLOCK(shmfd->shm_object);
sys/kern/uipc_shm.c
2104
struct shmfd *shmfd;
sys/kern/uipc_shm.c
2114
shmfd = fp->f_data;
sys/kern/uipc_shm.c
2118
if (shm_largepage(shmfd))
sys/kern/uipc_shm.c
2121
rl_cookie = shm_rangelock_wlock(shmfd, off, off + len);
sys/kern/uipc_shm.c
2124
if ((shmfd->shm_seals & F_SEAL_WRITE) != 0) {
sys/kern/uipc_shm.c
2128
error = shm_deallocate(shmfd, &off, &len, flags);
sys/kern/uipc_shm.c
2135
shm_rangelock_unlock(shmfd, rl_cookie);
sys/kern/uipc_shm.c
2144
struct shmfd *shmfd;
sys/kern/uipc_shm.c
2150
shmfd = fp->f_data;
sys/kern/uipc_shm.c
2162
rl_cookie = shm_rangelock_wlock(shmfd, offset, size);
sys/kern/uipc_shm.c
2163
if (size > shmfd->shm_size)
sys/kern/uipc_shm.c
2164
error = shm_dotruncate_cookie(shmfd, size, rl_cookie);
sys/kern/uipc_shm.c
2165
shm_rangelock_unlock(shmfd, rl_cookie);
sys/kern/uipc_shm.c
2242
struct shmfd *shmfd;
sys/kern/uipc_shm.c
2246
shmfd = NULL;
sys/kern/uipc_shm.c
2253
shmfd = obj->un_pager.swp.swp_priv;
sys/kern/uipc_shm.c
2255
shmfd = obj->un_pager.phys.phys_priv;
sys/kern/uipc_shm.c
2256
if (shmfd == NULL) {
sys/kern/uipc_shm.c
2259
strlcpy(path, shmfd->shm_path == NULL ? "anon" :
sys/kern/uipc_shm.c
2260
shmfd->shm_path, sz);
sys/kern/uipc_shm.c
373
shm_largepage(struct shmfd *shmfd)
sys/kern/uipc_shm.c
375
return (shmfd->shm_object->type == OBJT_PHYS);
sys/kern/uipc_shm.c
381
struct shmfd *shm;
sys/kern/uipc_shm.c
400
struct shmfd *shm;
sys/kern/uipc_shm.c
412
struct shmfd *shm;
sys/kern/uipc_shm.c
436
struct shmfd *shmfd;
sys/kern/uipc_shm.c
440
shmfd = fp->f_data;
sys/kern/uipc_shm.c
453
if (offset > 0 && shmfd->shm_size > OFF_MAX - offset) {
sys/kern/uipc_shm.c
457
offset += shmfd->shm_size;
sys/kern/uipc_shm.c
465
if (offset < 0 || offset > shmfd->shm_size)
sys/kern/uipc_shm.c
478
struct shmfd *shmfd;
sys/kern/uipc_shm.c
482
shmfd = fp->f_data;
sys/kern/uipc_shm.c
484
error = mac_posixshm_check_read(active_cred, fp->f_cred, shmfd);
sys/kern/uipc_shm.c
489
rl_cookie = shm_rangelock_rlock(shmfd, uio->uio_offset,
sys/kern/uipc_shm.c
491
error = uiomove_object(shmfd->shm_object, shmfd->shm_size, uio);
sys/kern/uipc_shm.c
492
shm_rangelock_unlock(shmfd, rl_cookie);
sys/kern/uipc_shm.c
501
struct shmfd *shmfd;
sys/kern/uipc_shm.c
509
shmfd = fp->f_data;
sys/kern/uipc_shm.c
511
error = mac_posixshm_check_write(active_cred, fp->f_cred, shmfd);
sys/kern/uipc_shm.c
515
if (shm_largepage(shmfd) && shmfd->shm_lp_psind == 0)
sys/kern/uipc_shm.c
524
if ((shmfd->shm_flags & SHM_GROW_ON_WRITE) != 0) {
sys/kern/uipc_shm.c
529
newsize = atomic_load_64(&shmfd->shm_size);
sys/kern/uipc_shm.c
534
rl_cookie = shm_rangelock_wlock(shmfd, 0, OFF_MAX);
sys/kern/uipc_shm.c
536
rl_cookie = shm_rangelock_wlock(shmfd, uio->uio_offset,
sys/kern/uipc_shm.c
538
if ((shmfd->shm_seals & F_SEAL_WRITE) != 0) {
sys/kern/uipc_shm.c
542
if ((shmfd->shm_flags & SHM_GROW_ON_WRITE) != 0 &&
sys/kern/uipc_shm.c
543
newsize > shmfd->shm_size) {
sys/kern/uipc_shm.c
544
error = shm_dotruncate_cookie(shmfd, newsize,
sys/kern/uipc_shm.c
548
error = uiomove_object(shmfd->shm_object,
sys/kern/uipc_shm.c
549
shmfd->shm_size, uio);
sys/kern/uipc_shm.c
551
shm_rangelock_unlock(shmfd, rl_cookie);
sys/kern/uipc_shm.c
560
struct shmfd *shmfd;
sys/kern/uipc_shm.c
565
shmfd = fp->f_data;
sys/kern/uipc_shm.c
567
error = mac_posixshm_check_truncate(active_cred, fp->f_cred, shmfd);
sys/kern/uipc_shm.c
571
return (shm_dotruncate(shmfd, length));
sys/kern/uipc_shm.c
578
struct shmfd *shmfd;
sys/kern/uipc_shm.c
582
shmfd = fp->f_data;
sys/kern/uipc_shm.c
592
if (!shm_largepage(shmfd))
sys/kern/uipc_shm.c
595
if (shmfd->shm_lp_psind != 0 &&
sys/kern/uipc_shm.c
596
conf->psind != shmfd->shm_lp_psind)
sys/kern/uipc_shm.c
606
rl_cookie = shm_rangelock_wlock(shmfd, 0, OFF_MAX);
sys/kern/uipc_shm.c
607
shmfd->shm_lp_psind = conf->psind;
sys/kern/uipc_shm.c
608
shmfd->shm_lp_alloc_policy = conf->alloc_policy;
sys/kern/uipc_shm.c
609
shmfd->shm_object->un_pager.phys.data_val = conf->psind;
sys/kern/uipc_shm.c
610
shm_rangelock_unlock(shmfd, rl_cookie);
sys/kern/uipc_shm.c
613
if (!shm_largepage(shmfd))
sys/kern/uipc_shm.c
616
rl_cookie = shm_rangelock_rlock(shmfd, 0, OFF_MAX);
sys/kern/uipc_shm.c
617
conf->psind = shmfd->shm_lp_psind;
sys/kern/uipc_shm.c
618
conf->alloc_policy = shmfd->shm_lp_alloc_policy;
sys/kern/uipc_shm.c
619
shm_rangelock_unlock(shmfd, rl_cookie);
sys/kern/uipc_shm.c
629
struct shmfd *shmfd;
sys/kern/uipc_shm.c
634
shmfd = fp->f_data;
sys/kern/uipc_shm.c
637
error = mac_posixshm_check_stat(active_cred, fp->f_cred, shmfd);
sys/kern/uipc_shm.c
648
sb->st_size = shmfd->shm_size;
sys/kern/uipc_shm.c
650
sb->st_atim = shmfd->shm_atime;
sys/kern/uipc_shm.c
651
sb->st_ctim = shmfd->shm_ctime;
sys/kern/uipc_shm.c
652
sb->st_mtim = shmfd->shm_mtime;
sys/kern/uipc_shm.c
653
sb->st_birthtim = shmfd->shm_birthtime;
sys/kern/uipc_shm.c
654
sb->st_mode = S_IFREG | shmfd->shm_mode; /* XXX */
sys/kern/uipc_shm.c
655
sb->st_uid = shmfd->shm_uid;
sys/kern/uipc_shm.c
656
sb->st_gid = shmfd->shm_gid;
sys/kern/uipc_shm.c
659
sb->st_ino = shmfd->shm_ino;
sys/kern/uipc_shm.c
660
sb->st_nlink = shmfd->shm_object->ref_count;
sys/kern/uipc_shm.c
661
if (shm_largepage(shmfd)) {
sys/kern/uipc_shm.c
662
sb->st_blocks = shmfd->shm_object->size /
sys/kern/uipc_shm.c
663
(pagesizes[shmfd->shm_lp_psind] >> PAGE_SHIFT);
sys/kern/uipc_shm.c
665
sb->st_blocks = shmfd->shm_pages;
sys/kern/uipc_shm.c
674
struct shmfd *shmfd;
sys/kern/uipc_shm.c
676
shmfd = fp->f_data;
sys/kern/uipc_shm.c
678
shm_drop(shmfd);
sys/kern/uipc_shm.c
734
shm_dotruncate_locked(struct shmfd *shmfd, off_t length, void *rl_cookie)
sys/kern/uipc_shm.c
742
object = shmfd->shm_object;
sys/kern/uipc_shm.c
745
if (length == shmfd->shm_size)
sys/kern/uipc_shm.c
750
if (length < shmfd->shm_size) {
sys/kern/uipc_shm.c
751
if ((shmfd->shm_seals & F_SEAL_SHRINK) != 0)
sys/kern/uipc_shm.c
758
if (shmfd->shm_kmappings > 0)
sys/kern/uipc_shm.c
780
if ((shmfd->shm_seals & F_SEAL_GROW) != 0)
sys/kern/uipc_shm.c
788
shmfd->shm_size = length;
sys/kern/uipc_shm.c
790
vfs_timestamp(&shmfd->shm_ctime);
sys/kern/uipc_shm.c
791
shmfd->shm_mtime = shmfd->shm_ctime;
sys/kern/uipc_shm.c
798
shm_dotruncate_largepage(struct shmfd *shmfd, off_t length, void *rl_cookie)
sys/kern/uipc_shm.c
807
object = shmfd->shm_object;
sys/kern/uipc_shm.c
813
if (length == shmfd->shm_size)
sys/kern/uipc_shm.c
815
psind = shmfd->shm_lp_psind;
sys/kern/uipc_shm.c
821
if (length < shmfd->shm_size) {
sys/kern/uipc_shm.c
822
if ((shmfd->shm_seals & F_SEAL_SHRINK) != 0)
sys/kern/uipc_shm.c
824
if (shmfd->shm_kmappings > 0)
sys/kern/uipc_shm.c
830
shmfd->shm_size = length;
sys/kern/uipc_shm.c
835
if ((shmfd->shm_seals & F_SEAL_GROW) != 0)
sys/kern/uipc_shm.c
839
if (shmfd->shm_lp_alloc_policy == SHM_LARGEPAGE_ALLOC_NOWAIT)
sys/kern/uipc_shm.c
863
if (shmfd->shm_lp_alloc_policy ==
sys/kern/uipc_shm.c
865
(shmfd->shm_lp_alloc_policy ==
sys/kern/uipc_shm.c
892
shmfd->shm_size += pagesizes[psind];
sys/kern/uipc_shm.c
899
shm_dotruncate_cookie(struct shmfd *shmfd, off_t length, void *rl_cookie)
sys/kern/uipc_shm.c
903
VM_OBJECT_WLOCK(shmfd->shm_object);
sys/kern/uipc_shm.c
904
error = shm_largepage(shmfd) ? shm_dotruncate_largepage(shmfd,
sys/kern/uipc_shm.c
905
length, rl_cookie) : shm_dotruncate_locked(shmfd, length,
sys/kern/uipc_shm.c
907
VM_OBJECT_WUNLOCK(shmfd->shm_object);
sys/kern/uipc_shm.c
912
shm_dotruncate(struct shmfd *shmfd, off_t length)
sys/kern/uipc_shm.c
917
rl_cookie = shm_rangelock_wlock(shmfd, 0, OFF_MAX);
sys/kern/uipc_shm.c
918
error = shm_dotruncate_cookie(shmfd, length, rl_cookie);
sys/kern/uipc_shm.c
919
shm_rangelock_unlock(shmfd, rl_cookie);
sys/kern/uipc_shm.c
927
struct shmfd *
sys/kern/uipc_shm.c
930
struct shmfd *shmfd;
sys/kern/uipc_shm.c
948
shmfd = malloc(sizeof(*shmfd), M_SHMFD, M_WAITOK | M_ZERO);
sys/kern/uipc_shm.c
949
shmfd->shm_uid = ucred->cr_uid;
sys/kern/uipc_shm.c
950
shmfd->shm_gid = ucred->cr_gid;
sys/kern/uipc_shm.c
951
shmfd->shm_mode = mode;
sys/kern/uipc_shm.c
953
obj->un_pager.phys.phys_priv = shmfd;
sys/kern/uipc_shm.c
954
shmfd->shm_lp_alloc_policy = SHM_LARGEPAGE_ALLOC_DEFAULT;
sys/kern/uipc_shm.c
956
obj->un_pager.swp.swp_priv = shmfd;
sys/kern/uipc_shm.c
962
shmfd->shm_object = obj;
sys/kern/uipc_shm.c
963
vfs_timestamp(&shmfd->shm_birthtime);
sys/kern/uipc_shm.c
964
shmfd->shm_atime = shmfd->shm_mtime = shmfd->shm_ctime =
sys/kern/uipc_shm.c
965
shmfd->shm_birthtime;
sys/kern/uipc_shm.c
966
shmfd->shm_ino = alloc_unr64(&shm_ino_unr);
sys/kern/uipc_shm.c
967
refcount_init(&shmfd->shm_refs, 1);
sys/kern/uipc_shm.c
968
mtx_init(&shmfd->shm_mtx, "shmrl", NULL, MTX_DEF);
sys/kern/uipc_shm.c
969
rangelock_init(&shmfd->shm_rl);
sys/kern/uipc_shm.c
971
mac_posixshm_init(shmfd);
sys/kern/uipc_shm.c
972
mac_posixshm_create(ucred, shmfd);
sys/kern/uipc_shm.c
975
return (shmfd);
sys/kern/uipc_shm.c
978
struct shmfd *
sys/kern/uipc_shm.c
979
shm_hold(struct shmfd *shmfd)
sys/kern/uipc_shm.c
982
refcount_acquire(&shmfd->shm_refs);
sys/kern/uipc_shm.c
983
return (shmfd);
sys/kern/uipc_shm.c
987
shm_drop(struct shmfd *shmfd)
sys/kern/uipc_shm.c
991
if (refcount_release(&shmfd->shm_refs)) {
sys/kern/uipc_shm.c
993
mac_posixshm_destroy(shmfd);
sys/kern/uipc_shm.c
995
rangelock_destroy(&shmfd->shm_rl);
sys/kern/uipc_shm.c
996
mtx_destroy(&shmfd->shm_mtx);
sys/kern/uipc_shm.c
997
obj = shmfd->shm_object;
sys/kern/uipc_shm.c
999
if (shm_largepage(shmfd))
sys/security/mac/mac_framework.h
337
int mac_posixshm_check_mmap(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac/mac_framework.h
339
int mac_posixshm_check_open(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac/mac_framework.h
342
struct ucred *file_cred, struct shmfd *shmfd);
sys/security/mac/mac_framework.h
343
int mac_posixshm_check_setmode(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac/mac_framework.h
345
int mac_posixshm_check_setowner(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac/mac_framework.h
348
struct ucred *file_cred, struct shmfd *shmfd);
sys/security/mac/mac_framework.h
350
struct ucred *file_cred, struct shmfd *shmfd);
sys/security/mac/mac_framework.h
351
int mac_posixshm_check_unlink(struct ucred *cred, struct shmfd *shmfd);
sys/security/mac/mac_framework.h
353
struct ucred *file_cred, struct shmfd *shmfd);
sys/security/mac/mac_framework.h
354
void mac_posixshm_create(struct ucred *cred, struct shmfd *shmfd);
sys/security/mac/mac_framework.h
355
void mac_posixshm_destroy(struct shmfd *);
sys/security/mac/mac_framework.h
356
void mac_posixshm_init(struct shmfd *);
sys/security/mac/mac_framework.h
79
struct shmfd;
sys/security/mac/mac_policy.h
391
struct shmfd *shmfd, struct label *shmlabel, int prot,
sys/security/mac/mac_policy.h
394
struct shmfd *shmfd, struct label *shmlabel,
sys/security/mac/mac_policy.h
397
struct ucred *file_cred, struct shmfd *shmfd,
sys/security/mac/mac_policy.h
400
struct shmfd *shmfd, struct label *shmlabel,
sys/security/mac/mac_policy.h
403
struct shmfd *shmfd, struct label *shmlabel,
sys/security/mac/mac_policy.h
406
struct ucred *file_cred, struct shmfd *shmfd,
sys/security/mac/mac_policy.h
409
struct ucred *file_cred, struct shmfd *shmfd,
sys/security/mac/mac_policy.h
412
struct shmfd *shmfd, struct label *shmlabel);
sys/security/mac/mac_policy.h
414
struct ucred *file_cred, struct shmfd *shmfd,
sys/security/mac/mac_policy.h
417
struct shmfd *shmfd, struct label *shmlabel);
sys/security/mac/mac_policy.h
95
struct shmfd;
sys/security/mac/mac_posix_shm.c
119
mac_posixshm_check_mmap(struct ucred *cred, struct shmfd *shmfd, int prot,
sys/security/mac/mac_posix_shm.c
124
MAC_POLICY_CHECK_NOSLEEP(posixshm_check_mmap, cred, shmfd,
sys/security/mac/mac_posix_shm.c
125
shmfd->shm_label, prot, flags);
sys/security/mac/mac_posix_shm.c
126
MAC_CHECK_PROBE4(posixshm_check_mmap, error, cred, shmfd, prot,
sys/security/mac/mac_posix_shm.c
136
mac_posixshm_check_open(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac/mac_posix_shm.c
141
MAC_POLICY_CHECK_NOSLEEP(posixshm_check_open, cred, shmfd,
sys/security/mac/mac_posix_shm.c
142
shmfd->shm_label, accmode);
sys/security/mac/mac_posix_shm.c
143
MAC_CHECK_PROBE3(posixshm_check_open, error, cred, shmfd, accmode);
sys/security/mac/mac_posix_shm.c
153
struct shmfd *shmfd)
sys/security/mac/mac_posix_shm.c
158
shmfd, shmfd->shm_label);
sys/security/mac/mac_posix_shm.c
160
shmfd);
sys/security/mac/mac_posix_shm.c
170
struct shmfd *shmfd)
sys/security/mac/mac_posix_shm.c
175
file_cred, shmfd, shmfd->shm_label);
sys/security/mac/mac_posix_shm.c
177
file_cred, shmfd);
sys/security/mac/mac_posix_shm.c
186
mac_posixshm_check_unlink(struct ucred *cred, struct shmfd *shmfd)
sys/security/mac/mac_posix_shm.c
190
MAC_POLICY_CHECK_NOSLEEP(posixshm_check_unlink, cred, shmfd,
sys/security/mac/mac_posix_shm.c
191
shmfd->shm_label);
sys/security/mac/mac_posix_shm.c
192
MAC_CHECK_PROBE2(posixshm_check_unlink, error, cred, shmfd);
sys/security/mac/mac_posix_shm.c
201
mac_posixshm_check_setmode(struct ucred *cred, struct shmfd *shmfd, mode_t mode)
sys/security/mac/mac_posix_shm.c
205
MAC_POLICY_CHECK_NOSLEEP(posixshm_check_setmode, cred, shmfd,
sys/security/mac/mac_posix_shm.c
206
shmfd->shm_label, mode);
sys/security/mac/mac_posix_shm.c
207
MAC_CHECK_PROBE3(posixshm_check_setmode, error, cred, shmfd, mode);
sys/security/mac/mac_posix_shm.c
216
mac_posixshm_check_setowner(struct ucred *cred, struct shmfd *shmfd, uid_t uid,
sys/security/mac/mac_posix_shm.c
221
MAC_POLICY_CHECK_NOSLEEP(posixshm_check_setowner, cred, shmfd,
sys/security/mac/mac_posix_shm.c
222
shmfd->shm_label, uid, gid);
sys/security/mac/mac_posix_shm.c
223
MAC_CHECK_PROBE4(posixshm_check_setowner, error, cred, shmfd,
sys/security/mac/mac_posix_shm.c
234
struct shmfd *shmfd)
sys/security/mac/mac_posix_shm.c
239
file_cred, shmfd, shmfd->shm_label);
sys/security/mac/mac_posix_shm.c
241
file_cred, shmfd);
sys/security/mac/mac_posix_shm.c
251
struct shmfd *shmfd)
sys/security/mac/mac_posix_shm.c
256
file_cred, shmfd, shmfd->shm_label);
sys/security/mac/mac_posix_shm.c
258
file_cred, shmfd);
sys/security/mac/mac_posix_shm.c
66
mac_posixshm_init(struct shmfd *shmfd)
sys/security/mac/mac_posix_shm.c
70
shmfd->shm_label = mac_posixshm_label_alloc();
sys/security/mac/mac_posix_shm.c
72
shmfd->shm_label = NULL;
sys/security/mac/mac_posix_shm.c
84
mac_posixshm_destroy(struct shmfd *shmfd)
sys/security/mac/mac_posix_shm.c
87
if (shmfd->shm_label != NULL) {
sys/security/mac/mac_posix_shm.c
88
mac_posixshm_label_free(shmfd->shm_label);
sys/security/mac/mac_posix_shm.c
89
shmfd->shm_label = NULL;
sys/security/mac/mac_posix_shm.c
94
mac_posixshm_create(struct ucred *cred, struct shmfd *shmfd)
sys/security/mac/mac_posix_shm.c
97
MAC_POLICY_PERFORM_NOSLEEP(posixshm_create, cred, shmfd,
sys/security/mac/mac_posix_shm.c
98
shmfd->shm_label);
sys/security/mac_biba/mac_biba.c
1694
biba_posixshm_check_mmap(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_biba/mac_biba.c
1718
biba_posixshm_check_open(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_biba/mac_biba.c
1743
struct shmfd *vp, struct label *shmlabel)
sys/security/mac_biba/mac_biba.c
1760
biba_posixshm_check_setmode(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_biba/mac_biba.c
1778
biba_posixshm_check_setowner(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_biba/mac_biba.c
1797
struct shmfd *shmfd, struct label *shmlabel)
sys/security/mac_biba/mac_biba.c
1815
struct ucred *file_cred, struct shmfd *shmfd, struct label *shmlabel)
sys/security/mac_biba/mac_biba.c
1832
biba_posixshm_check_unlink(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_biba/mac_biba.c
1851
struct shmfd *vp, struct label *shmlabel)
sys/security/mac_biba/mac_biba.c
1868
biba_posixshm_create(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_mls/mac_mls.c
1589
mls_posixshm_check_mmap(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_mls/mac_mls.c
1613
mls_posixshm_check_open(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_mls/mac_mls.c
1638
struct shmfd *shm, struct label *shmlabel)
sys/security/mac_mls/mac_mls.c
1655
mls_posixshm_check_setmode(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_mls/mac_mls.c
1673
mls_posixshm_check_setowner(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_mls/mac_mls.c
1692
struct shmfd *shmfd, struct label *shmlabel)
sys/security/mac_mls/mac_mls.c
1710
struct ucred *file_cred, struct shmfd *shmfd, struct label *shmlabel)
sys/security/mac_mls/mac_mls.c
1727
mls_posixshm_check_unlink(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_mls/mac_mls.c
1746
struct shmfd *shm, struct label *shmlabel)
sys/security/mac_mls/mac_mls.c
1763
mls_posixshm_create(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_stub/mac_stub.c
803
stub_posixshm_check_mmap(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_stub/mac_stub.c
811
stub_posixshm_check_open(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_stub/mac_stub.c
820
struct shmfd *shm, struct label *shmlabel)
sys/security/mac_stub/mac_stub.c
827
stub_posixshm_check_setmode(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_stub/mac_stub.c
835
stub_posixshm_check_setowner(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_stub/mac_stub.c
844
struct shmfd *shmfd, struct label *shmlabel)
sys/security/mac_stub/mac_stub.c
852
struct ucred *file_cred, struct shmfd *shmfd, struct label *shmlabel)
sys/security/mac_stub/mac_stub.c
859
stub_posixshm_check_unlink(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_stub/mac_stub.c
868
struct shmfd *shm, struct label *shmlabel)
sys/security/mac_stub/mac_stub.c
875
stub_posixshm_create(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_test/mac_test.c
1487
test_posixshm_check_mmap(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_test/mac_test.c
1499
test_posixshm_check_open(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_test/mac_test.c
1512
struct ucred *file_cred, struct shmfd *shm, struct label *shmlabel)
sys/security/mac_test/mac_test.c
1526
test_posixshm_check_setmode(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_test/mac_test.c
1538
test_posixshm_check_setowner(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_test/mac_test.c
1551
struct ucred *file_cred, struct shmfd *shmfd, struct label *shmfdlabel)
sys/security/mac_test/mac_test.c
1564
struct ucred *file_cred, struct shmfd *shmfd, struct label *shmfdlabel)
sys/security/mac_test/mac_test.c
1576
test_posixshm_check_unlink(struct ucred *cred, struct shmfd *shmfd,
sys/security/mac_test/mac_test.c
1589
struct ucred *file_cred, struct shmfd *shm, struct label *shmlabel)
sys/security/mac_test/mac_test.c
1603
test_posixshm_create(struct ucred *cred, struct shmfd *shmfd,
sys/sys/mman.h
308
int shm_access(struct shmfd *shmfd, struct ucred *ucred, int flags);
sys/sys/mman.h
309
struct shmfd *shm_alloc(struct ucred *ucred, mode_t mode, bool largepage);
sys/sys/mman.h
310
struct shmfd *shm_hold(struct shmfd *shmfd);
sys/sys/mman.h
311
void shm_drop(struct shmfd *shmfd);
sys/sys/mman.h
312
int shm_dotruncate(struct shmfd *shmfd, off_t length);
sys/sys/mman.h
313
bool shm_largepage(struct shmfd *shmfd);
sys/sys/syscallsubr.h
356
const char *name, struct shmfd *shmfd);
sys/sys/syscallsubr.h
63
struct shmfd;
tests/sys/vm/mlock_test.c
186
int count, error, shmfd;
tests/sys/vm/mlock_test.c
203
shmfd = shm_open(SHM_ANON, O_RDWR | O_CREAT, 0600);
tests/sys/vm/mlock_test.c
204
ATF_REQUIRE_MSG(shmfd >= 0, "shm_open: %s", strerror(errno));
tests/sys/vm/mlock_test.c
205
error = ftruncate(shmfd, len);
tests/sys/vm/mlock_test.c
209
MAP_SHARED | MAP_ALIGNED_SUPER, shmfd, 0);
tests/sys/vm/mlock_test.c
214
MAP_SHARED | MAP_ALIGNED_SUPER, shmfd, 0);
tests/sys/vm/mlock_test.c
235
error = ftruncate(shmfd, len - pagesizes[0]);
tests/sys/vm/mlock_test.c
241
error = ftruncate(shmfd, len);
tests/sys/vm/mlock_test.c
274
ATF_REQUIRE(close(shmfd) == 0);
tests/sys/vm/mmap_test.c
137
int devstatfd, pagesize, shmfd, zerofd;
tests/sys/vm/mmap_test.c
141
ATF_REQUIRE((shmfd = shm_open(SHM_ANON, O_RDWR, 0644)) >= 0);
tests/sys/vm/mmap_test.c
142
ATF_REQUIRE(ftruncate(shmfd, pagesize) == 0);
tests/sys/vm/mmap_test.c
148
checked_mmap(PROT_READ | PROT_WRITE, MAP_SHARED, shmfd, 0,
tests/sys/vm/mmap_test.c
150
checked_mmap(PROT_READ | PROT_WRITE, MAP_PRIVATE, shmfd, 0,
tests/sys/vm/mmap_test.c
162
checked_mmap(0xffff, MAP_SHARED, shmfd, EINVAL,
tests/sys/vm/mmap_test.c
172
checked_mmap(PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_SHARED, shmfd,
tests/sys/vm/mmap_test.c
176
checked_mmap(PROT_READ | PROT_WRITE, 0, shmfd, EINVAL,
tests/sys/vm/mmap_test.c
201
close(shmfd);
tools/tools/syscall_timing/syscall_timing.c
696
int shmfd;
tools/tools/syscall_timing/syscall_timing.c
698
shmfd = shm_open(SHM_ANON, O_CREAT | O_RDWR, 0600);
tools/tools/syscall_timing/syscall_timing.c
699
if (shmfd < 0)
tools/tools/syscall_timing/syscall_timing.c
701
close(shmfd);
tools/tools/syscall_timing/syscall_timing.c
704
shmfd = shm_open(SHM_ANON, O_CREAT | O_RDWR, 0600);
tools/tools/syscall_timing/syscall_timing.c
705
if (shmfd < 0)
tools/tools/syscall_timing/syscall_timing.c
707
close(shmfd);
tools/tools/syscall_timing/syscall_timing.c
717
int fd, shmfd;
tools/tools/syscall_timing/syscall_timing.c
719
shmfd = shm_open(SHM_ANON, O_CREAT | O_RDWR, 0600);
tools/tools/syscall_timing/syscall_timing.c
720
if (shmfd < 0)
tools/tools/syscall_timing/syscall_timing.c
722
fd = dup(shmfd);
tools/tools/syscall_timing/syscall_timing.c
727
fd = dup(shmfd);
tools/tools/syscall_timing/syscall_timing.c
732
close(shmfd);
tools/tools/syscall_timing/syscall_timing.c
741
int shmfd;
tools/tools/syscall_timing/syscall_timing.c
743
shmfd = shm_open(SHM_ANON, O_CREAT | O_RDWR, 0600);
tools/tools/syscall_timing/syscall_timing.c
744
if (shmfd < 0)
tools/tools/syscall_timing/syscall_timing.c
746
if (fstat(shmfd, &sb) < 0)
tools/tools/syscall_timing/syscall_timing.c
750
(void)fstat(shmfd, &sb);
tools/tools/syscall_timing/syscall_timing.c
753
close(shmfd);