Lines Matching refs:sem_perm
115 struct kern_ipc_perm sem_perm; /* permissions .. see ipc.h */
326 struct sem_array *sma = container_of(p, struct sem_array, sem_perm);
328 security_sem_free(&sma->sem_perm);
334 * Caller must own sem_perm.lock.
361 * Caller must own sem_perm.lock.
397 ipc_lock_object(&sma->sem_perm);
434 ipc_lock_object(&sma->sem_perm);
439 * sma->sem_perm.lock. Thus we must switch to locking
443 * We own sma->sem_perm.lock, thus use_global_lock cannot
448 ipc_unlock_object(&sma->sem_perm);
465 ipc_unlock_object(&sma->sem_perm);
485 return container_of(ipcp, struct sem_array, sem_perm);
496 return container_of(ipcp, struct sem_array, sem_perm);
502 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free);
507 ipc_rmid(&sem_ids(ns), &s->sem_perm);
549 sma->sem_perm.mode = (semflg & S_IRWXUGO);
550 sma->sem_perm.key = key;
552 sma->sem_perm.security = NULL;
553 retval = security_sem_alloc(&sma->sem_perm);
574 retval = ipc_addid(&sem_ids(ns), &sma->sem_perm, ns->sc_semmni);
576 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free);
584 return sma->sem_perm.id;
595 sma = container_of(ipcp, struct sem_array, sem_perm);
1147 struct sem_array *sma = container_of(ipcp, struct sem_array, sem_perm);
1152 ipc_assert_locked_object(&sma->sem_perm);
1192 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free);
1206 ipc64_perm_to_ipc_perm(&in->sem_perm, &out.sem_perm);
1260 audit_ipc_obj(&sma->sem_perm);
1263 if (ipcperms(ns, &sma->sem_perm, S_IRUGO))
1267 err = security_sem_semctl(&sma->sem_perm, cmd);
1271 ipc_lock_object(&sma->sem_perm);
1273 if (!ipc_valid_object(&sma->sem_perm)) {
1274 ipc_unlock_object(&sma->sem_perm);
1279 kernel_to_ipc64_perm(&sma->sem_perm, &semid64->sem_perm);
1300 err = sma->sem_perm.id;
1302 ipc_unlock_object(&sma->sem_perm);
1368 if (ipcperms(ns, &sma->sem_perm, S_IWUGO)) {
1373 err = security_sem_semctl(&sma->sem_perm, SETVAL);
1381 if (!ipc_valid_object(&sma->sem_perm)) {
1390 ipc_assert_locked_object(&sma->sem_perm);
1425 if (ipcperms(ns, &sma->sem_perm, cmd == SETALL ? S_IWUGO : S_IRUGO))
1428 err = security_sem_semctl(&sma->sem_perm, cmd);
1439 if (!ipc_valid_object(&sma->sem_perm)) {
1444 if (!ipc_rcu_getref(&sma->sem_perm)) {
1453 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free);
1459 if (!ipc_valid_object(&sma->sem_perm)) {
1478 if (!ipc_rcu_getref(&sma->sem_perm)) {
1488 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free);
1494 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free);
1501 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free);
1508 if (!ipc_valid_object(&sma->sem_perm)) {
1518 ipc_assert_locked_object(&sma->sem_perm);
1536 if (!ipc_valid_object(&sma->sem_perm)) {
1585 out->sem_perm.uid = tbuf_old.sem_perm.uid;
1586 out->sem_perm.gid = tbuf_old.sem_perm.gid;
1587 out->sem_perm.mode = tbuf_old.sem_perm.mode;
1612 &semid64->sem_perm, 0);
1618 sma = container_of(ipcp, struct sem_array, sem_perm);
1620 err = security_sem_semctl(&sma->sem_perm, cmd);
1632 err = ipc_update_perm(&semid64->sem_perm, ipcp);
1727 struct compat_ipc_perm sem_perm;
1743 return get_compat_ipc64_perm(&out->sem_perm, &p->sem_perm);
1746 return get_compat_ipc_perm(&out->sem_perm, &p->sem_perm);
1756 to_compat_ipc64_perm(&v.sem_perm, &in->sem_perm);
1766 to_compat_ipc_perm(&v.sem_perm, &in->sem_perm);
1933 if (!ipc_rcu_getref(&sma->sem_perm)) {
1943 ipc_rcu_putref(&sma->sem_perm, sem_rcu_free);
1950 if (!ipc_valid_object(&sma->sem_perm)) {
1973 ipc_assert_locked_object(&sma->sem_perm);
2061 if (ipcperms(ns, &sma->sem_perm, alter ? S_IWUGO : S_IRUGO)) {
2066 error = security_sem_semop(&sma->sem_perm, sops, nsops, alter);
2077 * If nsops == 1 and there is no contention for sem_perm.lock, then
2082 if (!ipc_valid_object(&sma->sem_perm))
2191 if (!ipc_valid_object(&sma->sem_perm))
2389 if (!ipc_valid_object(&sma->sem_perm)) {
2405 ipc_assert_locked_object(&sma->sem_perm);
2453 struct sem_array *sma = container_of(ipcp, struct sem_array, sem_perm);
2458 * ipc_lock_object(), i.e. spin_lock(&sma->sem_perm.lock).
2469 sma->sem_perm.key,
2470 sma->sem_perm.id,
2471 sma->sem_perm.mode,
2473 from_kuid_munged(user_ns, sma->sem_perm.uid),
2474 from_kgid_munged(user_ns, sma->sem_perm.gid),
2475 from_kuid_munged(user_ns, sma->sem_perm.cuid),
2476 from_kgid_munged(user_ns, sma->sem_perm.cgid),