Lines Matching refs:sem_perm
115 struct kern_ipc_perm sem_perm; /* permissions .. see ipc.h */
324 struct sem_array *sma = container_of(p, struct sem_array, sem_perm);
326 security_sem_free(&sma->sem_perm);
332 * Caller must own sem_perm.lock.
359 * Caller must own sem_perm.lock.
394 ipc_lock_object(&sma->sem_perm);
431 ipc_lock_object(&sma->sem_perm);
436 * sma->sem_perm.lock. Thus we must switch to locking
440 * We own sma->sem_perm.lock, thus use_global_lock cannot
445 ipc_unlock_object(&sma->sem_perm);
462 ipc_unlock_object(&sma->sem_perm);
482 return container_of(ipcp, struct sem_array, sem_perm);
493 return container_of(ipcp, struct sem_array, sem_perm);
499 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free);
504 ipc_rmid(&sem_ids(ns), &s->sem_perm);
546 sma->sem_perm.mode = (semflg & S_IRWXUGO);
547 sma->sem_perm.key = key;
549 sma->sem_perm.security = NULL;
550 retval = security_sem_alloc(&sma->sem_perm);
571 retval = ipc_addid(&sem_ids(ns), &sma->sem_perm, ns->sc_semmni);
573 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free);
581 return sma->sem_perm.id;
592 sma = container_of(ipcp, struct sem_array, sem_perm);
1145 struct sem_array *sma = container_of(ipcp, struct sem_array, sem_perm);
1150 ipc_assert_locked_object(&sma->sem_perm);
1190 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free);
1204 ipc64_perm_to_ipc_perm(&in->sem_perm, &out.sem_perm);
1258 audit_ipc_obj(&sma->sem_perm);
1261 if (ipcperms(ns, &sma->sem_perm, S_IRUGO))
1265 err = security_sem_semctl(&sma->sem_perm, cmd);
1269 ipc_lock_object(&sma->sem_perm);
1271 if (!ipc_valid_object(&sma->sem_perm)) {
1272 ipc_unlock_object(&sma->sem_perm);
1277 kernel_to_ipc64_perm(&sma->sem_perm, &semid64->sem_perm);
1298 err = sma->sem_perm.id;
1300 ipc_unlock_object(&sma->sem_perm);
1366 if (ipcperms(ns, &sma->sem_perm, S_IWUGO)) {
1371 err = security_sem_semctl(&sma->sem_perm, SETVAL);
1379 if (!ipc_valid_object(&sma->sem_perm)) {
1388 ipc_assert_locked_object(&sma->sem_perm);
1423 if (ipcperms(ns, &sma->sem_perm, cmd == SETALL ? S_IWUGO : S_IRUGO))
1426 err = security_sem_semctl(&sma->sem_perm, cmd);
1438 if (!ipc_valid_object(&sma->sem_perm)) {
1443 if (!ipc_rcu_getref(&sma->sem_perm)) {
1452 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free);
1458 if (!ipc_valid_object(&sma->sem_perm)) {
1477 if (!ipc_rcu_getref(&sma->sem_perm)) {
1487 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free);
1493 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free);
1500 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free);
1507 if (!ipc_valid_object(&sma->sem_perm)) {
1517 ipc_assert_locked_object(&sma->sem_perm);
1535 if (!ipc_valid_object(&sma->sem_perm)) {
1584 out->sem_perm.uid = tbuf_old.sem_perm.uid;
1585 out->sem_perm.gid = tbuf_old.sem_perm.gid;
1586 out->sem_perm.mode = tbuf_old.sem_perm.mode;
1611 &semid64->sem_perm, 0);
1617 sma = container_of(ipcp, struct sem_array, sem_perm);
1619 err = security_sem_semctl(&sma->sem_perm, cmd);
1631 err = ipc_update_perm(&semid64->sem_perm, ipcp);
1726 struct compat_ipc_perm sem_perm;
1742 return get_compat_ipc64_perm(&out->sem_perm, &p->sem_perm);
1745 return get_compat_ipc_perm(&out->sem_perm, &p->sem_perm);
1755 to_compat_ipc64_perm(&v.sem_perm, &in->sem_perm);
1765 to_compat_ipc_perm(&v.sem_perm, &in->sem_perm);
1932 if (!ipc_rcu_getref(&sma->sem_perm)) {
1942 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free);
1949 if (!ipc_valid_object(&sma->sem_perm)) {
1972 ipc_assert_locked_object(&sma->sem_perm);
2072 if (ipcperms(ns, &sma->sem_perm, alter ? S_IWUGO : S_IRUGO)) {
2077 error = security_sem_semop(&sma->sem_perm, sops, nsops, alter);
2088 * If nsops == 1 and there is no contention for sem_perm.lock, then
2093 if (!ipc_valid_object(&sma->sem_perm))
2204 if (!ipc_valid_object(&sma->sem_perm))
2370 if (!ipc_valid_object(&sma->sem_perm)) {
2386 ipc_assert_locked_object(&sma->sem_perm);
2434 struct sem_array *sma = container_of(ipcp, struct sem_array, sem_perm);
2449 sma->sem_perm.key,
2450 sma->sem_perm.id,
2451 sma->sem_perm.mode,
2453 from_kuid_munged(user_ns, sma->sem_perm.uid),
2454 from_kgid_munged(user_ns, sma->sem_perm.gid),
2455 from_kuid_munged(user_ns, sma->sem_perm.cuid),
2456 from_kgid_munged(user_ns, sma->sem_perm.cgid),