Lines Matching full:ls
601 struct aa_labelset *ls = labels_set(label); in __label_remove() local
603 AA_BUG(!ls); in __label_remove()
605 lockdep_assert_held_write(&ls->lock); in __label_remove()
614 rb_erase(&label->node, &ls->root); in __label_remove()
637 struct aa_labelset *ls = labels_set(old); in __label_replace() local
639 AA_BUG(!ls); in __label_replace()
642 lockdep_assert_held_write(&ls->lock); in __label_replace()
649 rb_replace_node(&old->node, &new->node, &ls->root); in __label_replace()
661 * @ls: set of labels to insert @l into (NOT NULL)
665 * Requires: @ls->lock
672 static struct aa_label *__label_insert(struct aa_labelset *ls, in __label_insert() argument
677 AA_BUG(!ls); in __label_insert()
679 AA_BUG(labels_set(label) != ls); in __label_insert()
680 lockdep_assert_held_write(&ls->lock); in __label_insert()
684 new = &ls->root.rb_node; in __label_insert()
711 rb_insert_color(&label->node, &ls->root); in __label_insert()
782 struct aa_labelset *ls = labels_set(label); in aa_label_remove() local
786 AA_BUG(!ls); in aa_label_remove()
788 write_lock_irqsave(&ls->lock, flags); in aa_label_remove()
790 write_unlock_irqrestore(&ls->lock, flags); in aa_label_remove()
818 struct aa_labelset *ls = labels_set(old); in aa_label_replace() local
820 write_lock_irqsave(&ls->lock, flags); in aa_label_replace()
823 write_unlock_irqrestore(&ls->lock, flags); in aa_label_replace()
824 ls = labels_set(new); in aa_label_replace()
825 write_lock_irqsave(&ls->lock, flags); in aa_label_replace()
827 l = __label_insert(ls, new, true); in aa_label_replace()
829 write_unlock_irqrestore(&ls->lock, flags); in aa_label_replace()
846 struct aa_labelset *ls; in vec_find() local
854 ls = vec_labelset(vec, n); in vec_find()
855 read_lock_irqsave(&ls->lock, flags); in vec_find()
857 read_unlock_irqrestore(&ls->lock, flags); in vec_find()
867 struct aa_labelset *ls; in vec_create_and_insert_label() local
877 ls = labels_set(&vec[len - 1]->label); in vec_create_and_insert_label()
889 write_lock_irqsave(&ls->lock, flags); in vec_create_and_insert_label()
890 label = __label_insert(ls, new, false); in vec_create_and_insert_label()
891 write_unlock_irqrestore(&ls->lock, flags); in vec_create_and_insert_label()
910 * aa_label_insert - insert label @label into @ls or return existing label
911 * @ls: labelset to insert @label into
919 struct aa_label *aa_label_insert(struct aa_labelset *ls, struct aa_label *label) in aa_label_insert() argument
924 AA_BUG(!ls); in aa_label_insert()
929 read_lock_irqsave(&ls->lock, flags); in aa_label_insert()
931 read_unlock_irqrestore(&ls->lock, flags); in aa_label_insert()
936 write_lock_irqsave(&ls->lock, flags); in aa_label_insert()
937 l = __label_insert(ls, label, false); in aa_label_insert()
938 write_unlock_irqrestore(&ls->lock, flags); in aa_label_insert()
1045 struct aa_labelset *ls; in label_merge_insert() local
1094 ls = labels_set(new); in label_merge_insert()
1095 write_lock_irqsave(&ls->lock, flags); in label_merge_insert()
1097 write_unlock_irqrestore(&ls->lock, flags); in label_merge_insert()
1122 * @ls: set of labels to search (NOT NULL)
1126 * Requires: ls->lock read_lock held
1131 static struct aa_label *__label_find_merge(struct aa_labelset *ls, in __label_find_merge() argument
1137 AA_BUG(!ls); in __label_find_merge()
1144 node = ls->root.rb_node; in __label_find_merge()
1174 struct aa_labelset *ls; in aa_label_find_merge() local
1185 ls = labelset_of_merge(a, b); in aa_label_find_merge()
1186 read_lock_irqsave(&ls->lock, flags); in aa_label_find_merge()
1187 label = __label_find_merge(ls, a, b); in aa_label_find_merge()
1188 read_unlock_irqrestore(&ls->lock, flags); in aa_label_find_merge()
1436 struct aa_labelset *ls; in aa_update_label_name() local
1450 ls = labels_set(label); in aa_update_label_name()
1451 write_lock_irqsave(&ls->lock, flags); in aa_update_label_name()
1457 write_unlock_irqrestore(&ls->lock, flags); in aa_update_label_name()
1950 * @ls: label set to cleanup (NOT NULL)
1955 void aa_labelset_destroy(struct aa_labelset *ls) in aa_labelset_destroy() argument
1960 AA_BUG(!ls); in aa_labelset_destroy()
1962 write_lock_irqsave(&ls->lock, flags); in aa_labelset_destroy()
1963 for (node = rb_first(&ls->root); node; node = rb_first(&ls->root)) { in aa_labelset_destroy()
1972 write_unlock_irqrestore(&ls->lock, flags); in aa_labelset_destroy()
1976 * @ls: labelset to init (NOT NULL)
1978 void aa_labelset_init(struct aa_labelset *ls) in aa_labelset_init() argument
1980 AA_BUG(!ls); in aa_labelset_init()
1982 rwlock_init(&ls->lock); in aa_labelset_init()
1983 ls->root = RB_ROOT; in aa_labelset_init()
1986 static struct aa_label *labelset_next_stale(struct aa_labelset *ls) in labelset_next_stale() argument
1992 AA_BUG(!ls); in labelset_next_stale()
1994 read_lock_irqsave(&ls->lock, flags); in labelset_next_stale()
1996 __labelset_for_each(ls, node) { in labelset_next_stale()
2007 read_unlock_irqrestore(&ls->lock, flags); in labelset_next_stale()
2027 struct aa_labelset *ls; in __label_update() local
2042 ls = labels_set(label); in __label_update()
2043 write_lock_irqsave(&ls->lock, flags); in __label_update()
2065 write_unlock_irqrestore(&ls->lock, flags); in __label_update()
2067 write_lock_irqsave(&ls->lock, flags); in __label_update()
2077 write_unlock_irqrestore(&ls->lock, flags); in __label_update()