Lines Matching refs:sem_perm

115 	struct kern_ipc_perm	sem_perm;	/* permissions .. see ipc.h */  member
326 struct sem_array *sma = container_of(p, struct sem_array, sem_perm); in sem_rcu_free()
328 security_sem_free(&sma->sem_perm); in sem_rcu_free()
397 ipc_lock_object(&sma->sem_perm); in sem_lock()
434 ipc_lock_object(&sma->sem_perm); in sem_lock()
448 ipc_unlock_object(&sma->sem_perm); in sem_lock()
465 ipc_unlock_object(&sma->sem_perm); in sem_unlock()
485 return container_of(ipcp, struct sem_array, sem_perm); in sem_obtain_object()
496 return container_of(ipcp, struct sem_array, sem_perm); in sem_obtain_object_check()
502 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free); in sem_lock_and_putref()
507 ipc_rmid(&sem_ids(ns), &s->sem_perm); in sem_rmid()
549 sma->sem_perm.mode = (semflg & S_IRWXUGO); in newary()
550 sma->sem_perm.key = key; in newary()
552 sma->sem_perm.security = NULL; in newary()
553 retval = security_sem_alloc(&sma->sem_perm); in newary()
574 retval = ipc_addid(&sem_ids(ns), &sma->sem_perm, ns->sc_semmni); in newary()
576 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free); in newary()
584 return sma->sem_perm.id; in newary()
595 sma = container_of(ipcp, struct sem_array, sem_perm); in sem_more_checks()
1147 struct sem_array *sma = container_of(ipcp, struct sem_array, sem_perm); in freeary()
1152 ipc_assert_locked_object(&sma->sem_perm); in freeary()
1192 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free); in freeary()
1206 ipc64_perm_to_ipc_perm(&in->sem_perm, &out.sem_perm); in copy_semid_to_user()
1260 audit_ipc_obj(&sma->sem_perm); in semctl_stat()
1263 if (ipcperms(ns, &sma->sem_perm, S_IRUGO)) in semctl_stat()
1267 err = security_sem_semctl(&sma->sem_perm, cmd); in semctl_stat()
1271 ipc_lock_object(&sma->sem_perm); in semctl_stat()
1273 if (!ipc_valid_object(&sma->sem_perm)) { in semctl_stat()
1274 ipc_unlock_object(&sma->sem_perm); in semctl_stat()
1279 kernel_to_ipc64_perm(&sma->sem_perm, &semid64->sem_perm); in semctl_stat()
1300 err = sma->sem_perm.id; in semctl_stat()
1302 ipc_unlock_object(&sma->sem_perm); in semctl_stat()
1368 if (ipcperms(ns, &sma->sem_perm, S_IWUGO)) { in semctl_setval()
1373 err = security_sem_semctl(&sma->sem_perm, SETVAL); in semctl_setval()
1381 if (!ipc_valid_object(&sma->sem_perm)) { in semctl_setval()
1390 ipc_assert_locked_object(&sma->sem_perm); in semctl_setval()
1425 if (ipcperms(ns, &sma->sem_perm, cmd == SETALL ? S_IWUGO : S_IRUGO)) in semctl_main()
1428 err = security_sem_semctl(&sma->sem_perm, cmd); in semctl_main()
1439 if (!ipc_valid_object(&sma->sem_perm)) { in semctl_main()
1444 if (!ipc_rcu_getref(&sma->sem_perm)) { in semctl_main()
1453 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free); in semctl_main()
1459 if (!ipc_valid_object(&sma->sem_perm)) { in semctl_main()
1478 if (!ipc_rcu_getref(&sma->sem_perm)) { in semctl_main()
1488 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free); in semctl_main()
1494 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free); in semctl_main()
1501 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free); in semctl_main()
1508 if (!ipc_valid_object(&sma->sem_perm)) { in semctl_main()
1518 ipc_assert_locked_object(&sma->sem_perm); in semctl_main()
1536 if (!ipc_valid_object(&sma->sem_perm)) { in semctl_main()
1585 out->sem_perm.uid = tbuf_old.sem_perm.uid; in copy_semid_from_user()
1586 out->sem_perm.gid = tbuf_old.sem_perm.gid; in copy_semid_from_user()
1587 out->sem_perm.mode = tbuf_old.sem_perm.mode; in copy_semid_from_user()
1612 &semid64->sem_perm, 0); in semctl_down()
1618 sma = container_of(ipcp, struct sem_array, sem_perm); in semctl_down()
1620 err = security_sem_semctl(&sma->sem_perm, cmd); in semctl_down()
1632 err = ipc_update_perm(&semid64->sem_perm, ipcp); in semctl_down()
1727 struct compat_ipc_perm sem_perm; member
1743 return get_compat_ipc64_perm(&out->sem_perm, &p->sem_perm); in copy_compat_semid_from_user()
1746 return get_compat_ipc_perm(&out->sem_perm, &p->sem_perm); in copy_compat_semid_from_user()
1756 to_compat_ipc64_perm(&v.sem_perm, &in->sem_perm); in copy_compat_semid_to_user()
1766 to_compat_ipc_perm(&v.sem_perm, &in->sem_perm); in copy_compat_semid_to_user()
1933 if (!ipc_rcu_getref(&sma->sem_perm)) { in find_alloc_undo()
1944 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free); in find_alloc_undo()
1951 if (!ipc_valid_object(&sma->sem_perm)) { in find_alloc_undo()
1975 ipc_assert_locked_object(&sma->sem_perm); in find_alloc_undo()
2063 if (ipcperms(ns, &sma->sem_perm, alter ? S_IWUGO : S_IRUGO)) { in __do_semtimedop()
2068 error = security_sem_semop(&sma->sem_perm, sops, nsops, alter); in __do_semtimedop()
2084 if (!ipc_valid_object(&sma->sem_perm)) in __do_semtimedop()
2193 if (!ipc_valid_object(&sma->sem_perm)) in __do_semtimedop()
2391 if (!ipc_valid_object(&sma->sem_perm)) { in exit_sem()
2407 ipc_assert_locked_object(&sma->sem_perm); in exit_sem()
2455 struct sem_array *sma = container_of(ipcp, struct sem_array, sem_perm); in sysvipc_sem_proc_show()
2471 sma->sem_perm.key, in sysvipc_sem_proc_show()
2472 sma->sem_perm.id, in sysvipc_sem_proc_show()
2473 sma->sem_perm.mode, in sysvipc_sem_proc_show()
2475 from_kuid_munged(user_ns, sma->sem_perm.uid), in sysvipc_sem_proc_show()
2476 from_kgid_munged(user_ns, sma->sem_perm.gid), in sysvipc_sem_proc_show()
2477 from_kuid_munged(user_ns, sma->sem_perm.cuid), in sysvipc_sem_proc_show()
2478 from_kgid_munged(user_ns, sma->sem_perm.cgid), in sysvipc_sem_proc_show()