Lines Matching refs:sema

119 static struct semid_kernel *sema;	/* semaphore id pool */
231 SYSCTL_PROC(_kern_ipc, OID_AUTO, sema,
283 sema = malloc(sizeof(struct semid_kernel) * seminfo.semmni, M_SEM,
291 sema[i].u.__sem_base = 0;
292 sema[i].u.sem_perm.mode = 0;
293 sema[i].u.sem_perm.seq = 0;
295 mac_sysvsem_init(&sema[i]);
364 mac_sysvsem_destroy(&sema[i]);
367 free(sema, M_SEM);
563 semakptr = &sema[semidx];
565 ("sem_remove: sema %d corrupted sem pointer %p %p %d %d",
583 if ((sema[i].u.sem_perm.mode & SEM_ALLOC) &&
584 sema[i].u.__sem_base > semakptr->u.__sem_base)
591 if ((sema[i].u.sem_perm.mode & SEM_ALLOC) &&
592 sema[i].u.__sem_base > semakptr->u.__sem_base) {
593 sema[i].u.__sem_base -= semakptr->u.sem_nsems;
726 semakptr = &sema[semid];
754 semakptr = &sema[semidx];
985 if ((sema[semid].u.sem_perm.mode & SEM_ALLOC) &&
986 sema[semid].cred != NULL &&
987 sema[semid].cred->cr_prison == cred->cr_prison &&
988 sema[semid].u.sem_perm.key == key)
999 if ((error = ipcperm(td, &sema[semid].u.sem_perm,
1003 if (nsems > 0 && sema[semid].u.sem_nsems < nsems) {
1009 error = mac_sysvsem_check_semget(cred, &sema[semid]);
1033 if ((sema[semid].u.sem_perm.mode & SEM_ALLOC) == 0)
1054 KASSERT((sema[semid].u.sem_perm.mode & SEM_ALLOC) == 0,
1056 sema[semid].u.sem_perm.key = key;
1057 sema[semid].u.sem_perm.cuid = cred->cr_uid;
1058 sema[semid].u.sem_perm.uid = cred->cr_uid;
1059 sema[semid].u.sem_perm.cgid = cred->cr_gid;
1060 sema[semid].u.sem_perm.gid = cred->cr_gid;
1061 sema[semid].u.sem_perm.mode = (semflg & 0777) | SEM_ALLOC;
1062 sema[semid].cred = crhold(cred);
1063 sema[semid].u.sem_perm.seq =
1064 (sema[semid].u.sem_perm.seq + 1) & 0x7fff;
1065 sema[semid].u.sem_nsems = nsems;
1066 sema[semid].u.sem_otime = 0;
1067 sema[semid].u.sem_ctime = time_second;
1068 sema[semid].u.__sem_base = &sem[semtot];
1070 bzero(sema[semid].u.__sem_base,
1071 sizeof(sema[semid].u.__sem_base[0])*nsems);
1073 mac_sysvsem_create(cred, &sema[semid]);
1077 sema[semid].u.__sem_base, &sem[semtot]));
1085 td->td_retval[0] = IXSEQ_TO_IPCID(semid, sema[semid].u.sem_perm);
1163 semakptr = &sema[semid];
1457 semakptr = &sema[semid];
1516 if ((sema[i].u.sem_perm.mode & SEM_ALLOC) == 0 ||
1517 rpr == NULL || sem_prison_cansee(rpr, &sema[i]) != 0)
1520 tsemak = sema[i];
1717 if ((sema[i].u.sem_perm.mode & SEM_ALLOC) &&
1718 sema[i].cred != NULL && sema[i].cred->cr_prison == pr) {