Lines Matching refs:shm_perm
212 if ((shmsegs[i].u.shm_perm.mode & SHMSEG_ALLOCATED) && in shm_find_segment_by_key()
215 shmsegs[i].u.shm_perm.key == key) in shm_find_segment_by_key()
234 if ((shmseg->u.shm_perm.mode & SHMSEG_ALLOCATED) == 0 || in shm_find_segment()
236 (shmseg->u.shm_perm.mode & SHMSEG_REMOVED) != 0) || in shm_find_segment()
237 (is_shmid && shmseg->u.shm_perm.seq != IPCID_TO_SEQ(arg)) || in shm_find_segment()
255 shmseg->u.shm_perm.mode = SHMSEG_FREE; in shm_deallocate_segment()
285 (shmseg->u.shm_perm.mode & SHMSEG_REMOVED)) { in shm_delete_mapping()
296 shmseg->u.shm_perm.key = IPC_PRIVATE; in shm_remove()
297 shmseg->u.shm_perm.mode |= SHMSEG_REMOVED; in shm_remove()
409 error = ipcperm(td, &shmseg->u.shm_perm, in kern_shmat_locked()
553 error = ipcperm(td, &shmseg->u.shm_perm, IPC_R); in kern_shmctl_locked()
558 shmidp->shm_perm.key = IPC_PRIVATE; in kern_shmctl_locked()
563 shmseg->u.shm_perm); in kern_shmctl_locked()
568 AUDIT_ARG_SVIPC_PERM(&shmidp->shm_perm); in kern_shmctl_locked()
569 error = ipcperm(td, &shmseg->u.shm_perm, IPC_M); in kern_shmctl_locked()
572 shmseg->u.shm_perm.uid = shmidp->shm_perm.uid; in kern_shmctl_locked()
573 shmseg->u.shm_perm.gid = shmidp->shm_perm.gid; in kern_shmctl_locked()
574 shmseg->u.shm_perm.mode = in kern_shmctl_locked()
575 (shmseg->u.shm_perm.mode & ~ACCESSPERMS) | in kern_shmctl_locked()
576 (shmidp->shm_perm.mode & ACCESSPERMS); in kern_shmctl_locked()
580 error = ipcperm(td, &shmseg->u.shm_perm, IPC_M); in kern_shmctl_locked()
677 td->td_retval[0] = IXSEQ_TO_IPCID(segnum, shmseg->u.shm_perm); in shmget_existing()
701 if (shmsegs[i].u.shm_perm.mode & SHMSEG_FREE) in shmget_allocate_segment()
752 shmseg->u.shm_perm.cuid = shmseg->u.shm_perm.uid = cred->cr_uid; in shmget_allocate_segment()
753 shmseg->u.shm_perm.cgid = shmseg->u.shm_perm.gid = cred->cr_gid; in shmget_allocate_segment()
754 shmseg->u.shm_perm.mode = (mode & ACCESSPERMS) | SHMSEG_ALLOCATED; in shmget_allocate_segment()
755 shmseg->u.shm_perm.key = key; in shmget_allocate_segment()
756 shmseg->u.shm_perm.seq = (shmseg->u.shm_perm.seq + 1) & 0x7fff; in shmget_allocate_segment()
768 td->td_retval[0] = IXSEQ_TO_IPCID(segnum, shmseg->u.shm_perm); in shmget_allocate_segment()
876 *key = shmsegs[i].u.shm_perm.key; in shmobjinfo()
877 *seq = shmsegs[i].u.shm_perm.seq; in shmobjinfo()
900 newsegs[i].u.shm_perm.mode = SHMSEG_FREE; in shmrealloc()
901 newsegs[i].u.shm_perm.seq = 0; in shmrealloc()
977 shmsegs[i].u.shm_perm.mode = SHMSEG_FREE; in shminit()
978 shmsegs[i].u.shm_perm.seq = 0; in shminit()
1051 if (shmsegs[i].u.shm_perm.mode != SHMSEG_FREE) in shmunload()
1081 if ((shmsegs[i].u.shm_perm.mode & SHMSEG_ALLOCATED) == 0 || in sysctl_shmsegs()
1084 tshmseg.u.shm_perm.mode = SHMSEG_FREE; in sysctl_shmsegs()
1088 tshmseg.u.shm_perm.key = IPC_PRIVATE; in sysctl_shmsegs()
1093 freebsd32_ipcperm_out(&tshmseg.u.shm_perm, in sysctl_shmsegs()
1094 &tshmseg32.u.shm_perm); in sysctl_shmsegs()
1140 if ((shmsegs[i].u.shm_perm.mode & SHMSEG_ALLOCATED) == 0 || in kern_get_shmsegs()
1143 pshmseg->u.shm_perm.mode = SHMSEG_FREE; in kern_get_shmsegs()
1147 pshmseg->u.shm_perm.key = IPC_PRIVATE; in kern_get_shmsegs()
1326 if ((shmseg->u.shm_perm.mode & SHMSEG_ALLOCATED) && in shm_prison_cleanup()
1337 struct ipc_perm_old shm_perm; /* operation perms */ member
1376 error = ipcperm(td, &shmseg->u.shm_perm, IPC_R); in oshmctl()
1388 ipcperm_new2old(&shmseg->u.shm_perm, &outbuf.shm_perm); in oshmctl()
1504 freebsd32_ipcperm_old_in(&u32.shmid_ds32.shm_perm, in freebsd7_freebsd32_shmctl()
1505 &u.shmid_ds.shm_perm); in freebsd7_freebsd32_shmctl()
1543 freebsd32_ipcperm_old_out(&u.shmid_ds.shm_perm, in freebsd7_freebsd32_shmctl()
1544 &u32.shmid_ds32.shm_perm); in freebsd7_freebsd32_shmctl()
1590 freebsd32_ipcperm_in(&u32.shmid_ds32.shm_perm, in freebsd32_shmctl()
1591 &u.shmid_ds.shm_perm); in freebsd32_shmctl()
1628 freebsd32_ipcperm_out(&u.shmid_ds.shm_perm, in freebsd32_shmctl()
1629 &u32.shmid_ds32.shm_perm); in freebsd32_shmctl()
1685 ipcperm_old2new(&old.shm_perm, &buf.shm_perm); in freebsd7_shmctl()
1703 ipcperm_new2old(&buf.shm_perm, &old.shm_perm); in freebsd7_shmctl()