semaptr 266 kern/sysv_sem.c struct semid_ds *semaptr;
semaptr 274 kern/sysv_sem.c if ((semaptr = sema[ix]) == NULL ||
semaptr 275 kern/sysv_sem.c semaptr->sem_perm.seq != IPCID_TO_SEQ(semid))
semaptr 280 kern/sysv_sem.c if ((error = ipcperm(cred, &semaptr->sem_perm, IPC_M)) != 0)
semaptr 282 kern/sysv_sem.c semaptr->sem_perm.cuid = cred->cr_uid;
semaptr 283 kern/sysv_sem.c semaptr->sem_perm.uid = cred->cr_uid;
semaptr 284 kern/sysv_sem.c semtot -= semaptr->sem_nsems;
semaptr 285 kern/sysv_sem.c free(semaptr->sem_base, M_SEM);
semaptr 286 kern/sysv_sem.c pool_put(&sema_pool, semaptr);
semaptr 293 kern/sysv_sem.c if ((error = ipcperm(cred, &semaptr->sem_perm, IPC_M)))
semaptr 297 kern/sysv_sem.c semaptr->sem_perm.uid = sbuf.sem_perm.uid;
semaptr 298 kern/sysv_sem.c semaptr->sem_perm.gid = sbuf.sem_perm.gid;
semaptr 299 kern/sysv_sem.c semaptr->sem_perm.mode = (semaptr->sem_perm.mode & ~0777) |
semaptr 301 kern/sysv_sem.c semaptr->sem_ctime = time_second;
semaptr 305 kern/sysv_sem.c if ((error = ipcperm(cred, &semaptr->sem_perm, IPC_R)))
semaptr 307 kern/sysv_sem.c error = ds_copyout(semaptr, arg->buf, sizeof(struct semid_ds));
semaptr 311 kern/sysv_sem.c if ((error = ipcperm(cred, &semaptr->sem_perm, IPC_R)))
semaptr 313 kern/sysv_sem.c if (semnum < 0 || semnum >= semaptr->sem_nsems)
semaptr 315 kern/sysv_sem.c *retval = semaptr->sem_base[semnum].semncnt;
semaptr 319 kern/sysv_sem.c if ((error = ipcperm(cred, &semaptr->sem_perm, IPC_R)))
semaptr 321 kern/sysv_sem.c if (semnum < 0 || semnum >= semaptr->sem_nsems)
semaptr 323 kern/sysv_sem.c *retval = semaptr->sem_base[semnum].sempid;
semaptr 327 kern/sysv_sem.c if ((error = ipcperm(cred, &semaptr->sem_perm, IPC_R)))
semaptr 329 kern/sysv_sem.c if (semnum < 0 || semnum >= semaptr->sem_nsems)
semaptr 331 kern/sysv_sem.c *retval = semaptr->sem_base[semnum].semval;
semaptr 335 kern/sysv_sem.c if ((error = ipcperm(cred, &semaptr->sem_perm, IPC_R)))
semaptr 337 kern/sysv_sem.c for (i = 0; i < semaptr->sem_nsems; i++) {
semaptr 338 kern/sysv_sem.c error = ds_copyout(&semaptr->sem_base[i].semval,
semaptr 346 kern/sysv_sem.c if ((error = ipcperm(cred, &semaptr->sem_perm, IPC_R)))
semaptr 348 kern/sysv_sem.c if (semnum < 0 || semnum >= semaptr->sem_nsems)
semaptr 350 kern/sysv_sem.c *retval = semaptr->sem_base[semnum].semzcnt;
semaptr 354 kern/sysv_sem.c if ((error = ipcperm(cred, &semaptr->sem_perm, IPC_W)))
semaptr 356 kern/sysv_sem.c if (semnum < 0 || semnum >= semaptr->sem_nsems)
semaptr 358 kern/sysv_sem.c semaptr->sem_base[semnum].semval = arg->val;
semaptr 364 kern/sysv_sem.c if ((error = ipcperm(cred, &semaptr->sem_perm, IPC_W)))
semaptr 366 kern/sysv_sem.c for (i = 0; i < semaptr->sem_nsems; i++) {
semaptr 368 kern/sysv_sem.c &semaptr->sem_base[i].semval,
semaptr 396 kern/sysv_sem.c struct semid_ds *semaptr, *semaptr_new = NULL;
semaptr 424 kern/sysv_sem.c for (semid = 0, semaptr = NULL; semid < seminfo.semmni; semid++) {
semaptr 425 kern/sysv_sem.c if ((semaptr = sema[semid]) != NULL &&
semaptr 426 kern/sysv_sem.c semaptr->sem_perm.key == key) {
semaptr 428 kern/sysv_sem.c if ((error = ipcperm(cred, &semaptr->sem_perm,
semaptr 431 kern/sysv_sem.c if (nsems > 0 && semaptr->sem_nsems < nsems) {
semaptr 449 kern/sysv_sem.c if ((semaptr = sema[semid]) == NULL)
semaptr 500 kern/sysv_sem.c struct semid_ds *semaptr;
semaptr 516 kern/sysv_sem.c if ((semaptr = sema[semid]) == NULL ||
semaptr 517 kern/sysv_sem.c semaptr->sem_perm.seq != IPCID_TO_SEQ(SCARG(uap, semid)))
semaptr 520 kern/sysv_sem.c if ((error = ipcperm(cred, &semaptr->sem_perm, IPC_W))) {
semaptr 562 kern/sysv_sem.c if (sopptr->sem_num >= semaptr->sem_nsems) {
semaptr 567 kern/sysv_sem.c semptr = &semaptr->sem_base[sopptr->sem_num];
semaptr 570 kern/sysv_sem.c semaptr, semaptr->sem_base, semptr,
semaptr 612 kern/sysv_sem.c semaptr->sem_base[sops[j].sem_num].semval -=
semaptr 640 kern/sysv_sem.c semaptr->sem_perm.seq != IPCID_TO_SEQ(SCARG(uap, semid))) {
semaptr 711 kern/sysv_sem.c semaptr->sem_base[sops[j].sem_num].semval -=
semaptr 722 kern/sysv_sem.c semptr = &semaptr->sem_base[sopptr->sem_num];
semaptr 781 kern/sysv_sem.c struct semid_ds *semaptr;
semaptr 783 kern/sysv_sem.c if ((semaptr = sema[semid]) == NULL)
semaptr 785 kern/sysv_sem.c if (semnum >= semaptr->sem_nsems)
semaptr 792 kern/sysv_sem.c semaptr->sem_base[semnum].semval));
semaptr 795 kern/sysv_sem.c semaptr->sem_base[semnum].semval < -adjval)
semaptr 796 kern/sysv_sem.c semaptr->sem_base[semnum].semval = 0;
semaptr 798 kern/sysv_sem.c semaptr->sem_base[semnum].semval += adjval;