Lines Matching refs:semnum
852 static int wake_const_ops(struct sem_array *sma, int semnum, in wake_const_ops() argument
859 if (semnum == -1) in wake_const_ops()
862 pending_list = &sma->sems[semnum].pending_const; in wake_const_ops()
947 static int update_queue(struct sem_array *sma, int semnum, struct wake_q_head *wake_q) in update_queue() argument
953 if (semnum == -1) in update_queue()
956 pending_list = &sma->sems[semnum].pending_alter; in update_queue()
969 if (semnum != -1 && sma->sems[semnum].semval == 0) in update_queue()
1070 static int check_qop(struct sem_array *sma, int semnum, struct sem_queue *q, in check_qop() argument
1086 if (sop->sem_num != semnum) in check_qop()
1104 static int count_semcnt(struct sem_array *sma, ushort semnum, in count_semcnt() argument
1114 l = &sma->sems[semnum].pending_const; in count_semcnt()
1116 l = &sma->sems[semnum].pending_alter; in count_semcnt()
1127 semcnt += check_qop(sma, semnum, q, count_zero); in count_semcnt()
1131 semcnt += check_qop(sma, semnum, q, count_zero); in count_semcnt()
1341 static int semctl_setval(struct ipc_namespace *ns, int semid, int semnum, in semctl_setval() argument
1360 if (semnum < 0 || semnum >= sma->sem_nsems) { in semctl_setval()
1385 semnum = array_index_nospec(semnum, sma->sem_nsems); in semctl_setval()
1386 curr = &sma->sems[semnum]; in semctl_setval()
1390 un->semadj[semnum] = 0; in semctl_setval()
1403 static int semctl_main(struct ipc_namespace *ns, int semid, int semnum, in semctl_main() argument
1531 if (semnum < 0 || semnum >= nsems) in semctl_main()
1540 semnum = array_index_nospec(semnum, nsems); in semctl_main()
1541 curr = &sma->sems[semnum]; in semctl_main()
1551 err = count_semcnt(sma, semnum, 0); in semctl_main()
1554 err = count_semcnt(sma, semnum, 1); in semctl_main()
1650 static long ksys_semctl(int semid, int semnum, int cmd, unsigned long arg, int version) in ksys_semctl() argument
1681 return semctl_main(ns, semid, semnum, cmd, p); in ksys_semctl()
1691 return semctl_setval(ns, semid, semnum, val); in ksys_semctl()
1704 SYSCALL_DEFINE4(semctl, int, semid, int, semnum, int, cmd, unsigned long, arg) in SYSCALL_DEFINE4() argument
1706 return ksys_semctl(semid, semnum, cmd, arg, IPC_64); in SYSCALL_DEFINE4()
1710 long ksys_old_semctl(int semid, int semnum, int cmd, unsigned long arg) in ksys_old_semctl() argument
1714 return ksys_semctl(semid, semnum, cmd, arg, version); in ksys_old_semctl()
1717 SYSCALL_DEFINE4(old_semctl, int, semid, int, semnum, int, cmd, unsigned long, arg) in SYSCALL_DEFINE4() argument
1719 return ksys_old_semctl(semid, semnum, cmd, arg); in SYSCALL_DEFINE4()
1773 static long compat_ksys_semctl(int semid, int semnum, int cmd, int arg, int version) in compat_ksys_semctl() argument
1804 return semctl_main(ns, semid, semnum, cmd, p); in compat_ksys_semctl()
1806 return semctl_setval(ns, semid, semnum, arg); in compat_ksys_semctl()
1818 COMPAT_SYSCALL_DEFINE4(semctl, int, semid, int, semnum, int, cmd, int, arg) in COMPAT_SYSCALL_DEFINE4() argument
1820 return compat_ksys_semctl(semid, semnum, cmd, arg, IPC_64); in COMPAT_SYSCALL_DEFINE4()
1824 long compat_ksys_old_semctl(int semid, int semnum, int cmd, int arg) in compat_ksys_old_semctl() argument
1828 return compat_ksys_semctl(semid, semnum, cmd, arg, version); in compat_ksys_old_semctl()
1831 COMPAT_SYSCALL_DEFINE4(old_semctl, int, semid, int, semnum, int, cmd, int, arg) in COMPAT_SYSCALL_DEFINE4() argument
1833 return compat_ksys_old_semctl(semid, semnum, cmd, arg); in COMPAT_SYSCALL_DEFINE4()