Lines Matching refs:ulp
151 struct sem_undo_list *ulp; /* back ptr to sem_undo_list */ member
1156 spin_lock(&un->ulp->lock); in freeary()
1159 spin_unlock(&un->ulp->lock); in freeary()
1871 static struct sem_undo *__lookup_undo(struct sem_undo_list *ulp, int semid) in __lookup_undo() argument
1875 list_for_each_entry_rcu(un, &ulp->list_proc, list_proc, in __lookup_undo()
1876 spin_is_locked(&ulp->lock)) { in __lookup_undo()
1883 static struct sem_undo *lookup_undo(struct sem_undo_list *ulp, int semid) in lookup_undo() argument
1887 assert_spin_locked(&ulp->lock); in lookup_undo()
1889 un = __lookup_undo(ulp, semid); in lookup_undo()
1892 list_add_rcu(&un->list_proc, &ulp->list_proc); in lookup_undo()
1911 struct sem_undo_list *ulp; in find_alloc_undo() local
1915 error = get_undo_list(&ulp); in find_alloc_undo()
1920 spin_lock(&ulp->lock); in find_alloc_undo()
1921 un = lookup_undo(ulp, semid); in find_alloc_undo()
1922 spin_unlock(&ulp->lock); in find_alloc_undo()
1960 spin_lock(&ulp->lock); in find_alloc_undo()
1965 un = lookup_undo(ulp, semid); in find_alloc_undo()
1972 new->ulp = ulp; in find_alloc_undo()
1974 assert_spin_locked(&ulp->lock); in find_alloc_undo()
1975 list_add_rcu(&new->list_proc, &ulp->list_proc); in find_alloc_undo()
1981 spin_unlock(&ulp->lock); in find_alloc_undo()
2341 struct sem_undo_list *ulp; in exit_sem() local
2343 ulp = tsk->sysvsem.undo_list; in exit_sem()
2344 if (!ulp) in exit_sem()
2348 if (!refcount_dec_and_test(&ulp->refcnt)) in exit_sem()
2360 un = list_entry_rcu(ulp->list_proc.next, in exit_sem()
2362 if (&un->list_proc == &ulp->list_proc) { in exit_sem()
2369 spin_lock(&ulp->lock); in exit_sem()
2370 spin_unlock(&ulp->lock); in exit_sem()
2374 spin_lock(&ulp->lock); in exit_sem()
2376 spin_unlock(&ulp->lock); in exit_sem()
2398 un = __lookup_undo(ulp, semid); in exit_sem()
2412 spin_lock(&ulp->lock); in exit_sem()
2414 spin_unlock(&ulp->lock); in exit_sem()
2449 kfree(ulp); in exit_sem()