Lines Matching refs:un

619 	struct sem_undo *un;  in perform_atomic_semop()  local
623 un = q->undo; in perform_atomic_semop()
640 int undo = un->semadj[sop->sem_num] - sem_op; in perform_atomic_semop()
644 un->semadj[sop->sem_num] = undo; in perform_atomic_semop()
677 un->semadj[sop->sem_num] += sem_op; in perform_atomic_semop()
1089 struct sem_undo *un, *tu; in freeary() local
1097 list_for_each_entry_safe(un, tu, &sma->list_id, list_id) { in freeary()
1098 list_del(&un->list_id); in freeary()
1099 spin_lock(&un->ulp->lock); in freeary()
1100 un->semid = -1; in freeary()
1101 list_del_rcu(&un->list_proc); in freeary()
1102 spin_unlock(&un->ulp->lock); in freeary()
1103 kfree_rcu(un, rcu); in freeary()
1270 struct sem_undo *un; in semctl_setval() local
1324 list_for_each_entry(un, &sma->list_id, list_id) in semctl_setval()
1325 un->semadj[semnum] = 0; in semctl_setval()
1411 struct sem_undo *un; in semctl_main() local
1451 list_for_each_entry(un, &sma->list_id, list_id) { in semctl_main()
1453 un->semadj[i] = 0; in semctl_main()
1654 struct sem_undo *un; in __lookup_undo() local
1656 list_for_each_entry_rcu(un, &ulp->list_proc, list_proc) { in __lookup_undo()
1657 if (un->semid == semid) in __lookup_undo()
1658 return un; in __lookup_undo()
1665 struct sem_undo *un; in lookup_undo() local
1669 un = __lookup_undo(ulp, semid); in lookup_undo()
1670 if (un) { in lookup_undo()
1671 list_del_rcu(&un->list_proc); in lookup_undo()
1672 list_add_rcu(&un->list_proc, &ulp->list_proc); in lookup_undo()
1674 return un; in lookup_undo()
1692 struct sem_undo *un, *new; in find_alloc_undo() local
1701 un = lookup_undo(ulp, semid); in find_alloc_undo()
1703 if (likely(un != NULL)) in find_alloc_undo()
1717 un = ERR_PTR(-EIDRM); in find_alloc_undo()
1736 un = ERR_PTR(-EIDRM); in find_alloc_undo()
1744 un = lookup_undo(ulp, semid); in find_alloc_undo()
1745 if (un) { in find_alloc_undo()
1757 un = new; in find_alloc_undo()
1763 return un; in find_alloc_undo()
1799 struct sem_undo *un; in SYSCALL_DEFINE4() local
1848 un = find_alloc_undo(ns, semid); in SYSCALL_DEFINE4()
1849 if (IS_ERR(un)) { in SYSCALL_DEFINE4()
1850 error = PTR_ERR(un); in SYSCALL_DEFINE4()
1854 un = NULL; in SYSCALL_DEFINE4()
1896 if (un && un->semid == -1) in SYSCALL_DEFINE4()
1901 queue.undo = un; in SYSCALL_DEFINE4()
2080 struct sem_undo *un; in exit_sem() local
2085 un = list_entry_rcu(ulp->list_proc.next, in exit_sem()
2087 if (&un->list_proc == &ulp->list_proc) { in exit_sem()
2099 semid = un->semid; in exit_sem()
2122 un = __lookup_undo(ulp, semid); in exit_sem()
2123 if (un == NULL) { in exit_sem()
2134 list_del(&un->list_id); in exit_sem()
2140 list_del_rcu(&un->list_proc); in exit_sem()
2145 if (un->semadj[i]) { in exit_sem()
2146 semaphore->semval += un->semadj[i]; in exit_sem()
2174 kfree_rcu(un, rcu); in exit_sem()