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;