Lines Matching defs:sops
136 struct sembuf *sops; /* array of pending operations */
139 bool alter; /* does *sops alter the array? */
140 bool dupsop; /* sops on more than one sem_num */
295 curr = &sma->sems[q->sops[0].sem_num];
386 static inline int sem_lock(struct sem_array *sma, struct sembuf *sops,
408 idx = array_index_nospec(sops->sem_num, sma->sem_nsems);
425 return sops->sem_num;
446 return sops->sem_num;
649 struct sembuf *sops;
652 sops = q->sops;
656 for (sop = sops; sop < sops + nsops; sop++) {
684 while (sop >= sops) {
705 while (sop >= sops) {
721 struct sembuf *sops;
724 sops = q->sops;
737 for (sop = sops; sop < sops + nsops; sop++) {
763 for (sop = sops; sop < sops + nsops; sop++) {
883 * @sops: operations that were performed
891 static int do_smart_wakeup_zero(struct sem_array *sma, struct sembuf *sops,
899 if (sops) {
901 int num = sops[i].sem_num;
910 * No sops means modified semaphores not known.
984 do_smart_wakeup_zero(sma, q->sops, q->nsops, wake_q);
998 * @sops: operations that modified the array, may be NULL
1003 static void set_semotime(struct sem_array *sma, struct sembuf *sops)
1005 if (sops == NULL) {
1008 sma->sems[sops[0].sem_num].sem_otime =
1016 * @sops: operations that were performed
1027 static void do_smart_update(struct sem_array *sma, struct sembuf *sops, int nsops,
1032 otime |= do_smart_wakeup_zero(sma, sops, nsops, wake_q);
1038 if (!sops) {
1040 * No sops, thus the modified semaphores are not
1056 if (sops[i].sem_op > 0) {
1058 sops[i].sem_num, wake_q);
1064 set_semotime(sma, sops);
1989 struct sembuf *sops = fast_sops, *sop;
2004 sops = kvmalloc_array(nsops, sizeof(*sops), GFP_KERNEL);
2005 if (sops == NULL)
2009 if (copy_from_user(sops, tsops, nsops * sizeof(*tsops))) {
2024 for (sop = sops; sop < sops + nsops; sop++) {
2077 error = security_sem_semop(&sma->sem_perm, sops, nsops, alter);
2084 locknum = sem_lock(sma, sops, nsops);
2105 queue.sops = sops;
2121 do_smart_update(sma, sops, nsops, 1, &wake_q);
2123 set_semotime(sma, sops);
2140 int idx = array_index_nospec(sops->sem_num, sma->sem_nsems);
2202 locknum = sem_lock(sma, sops, nsops);
2232 if (sops != fast_sops)
2233 kvfree(sops);