Lines Matching full:ls
597 struct aa_labelset *ls = labels_set(label); in __label_remove() local
599 AA_BUG(!ls); in __label_remove()
601 lockdep_assert_held_write(&ls->lock); in __label_remove()
610 rb_erase(&label->node, &ls->root); in __label_remove()
633 struct aa_labelset *ls = labels_set(old); in __label_replace() local
635 AA_BUG(!ls); in __label_replace()
638 lockdep_assert_held_write(&ls->lock); in __label_replace()
645 rb_replace_node(&old->node, &new->node, &ls->root); in __label_replace()
656 * @ls: set of labels to insert @l into (NOT NULL)
660 * Requires: @ls->lock
667 static struct aa_label *__label_insert(struct aa_labelset *ls, in __label_insert() argument
672 AA_BUG(!ls); in __label_insert()
674 AA_BUG(labels_set(label) != ls); in __label_insert()
675 lockdep_assert_held_write(&ls->lock); in __label_insert()
679 new = &ls->root.rb_node; in __label_insert()
706 rb_insert_color(&label->node, &ls->root); in __label_insert()
776 struct aa_labelset *ls = labels_set(label); in aa_label_remove() local
780 AA_BUG(!ls); in aa_label_remove()
782 write_lock_irqsave(&ls->lock, flags); in aa_label_remove()
784 write_unlock_irqrestore(&ls->lock, flags); in aa_label_remove()
812 struct aa_labelset *ls = labels_set(old); in aa_label_replace() local
814 write_lock_irqsave(&ls->lock, flags); in aa_label_replace()
817 write_unlock_irqrestore(&ls->lock, flags); in aa_label_replace()
818 ls = labels_set(new); in aa_label_replace()
819 write_lock_irqsave(&ls->lock, flags); in aa_label_replace()
821 l = __label_insert(ls, new, true); in aa_label_replace()
823 write_unlock_irqrestore(&ls->lock, flags); in aa_label_replace()
840 struct aa_labelset *ls; in vec_find() local
848 ls = vec_labelset(vec, n); in vec_find()
849 read_lock_irqsave(&ls->lock, flags); in vec_find()
851 read_unlock_irqrestore(&ls->lock, flags); in vec_find()
861 struct aa_labelset *ls; in vec_create_and_insert_label() local
871 ls = labels_set(&vec[len - 1]->label); in vec_create_and_insert_label()
883 write_lock_irqsave(&ls->lock, flags); in vec_create_and_insert_label()
884 label = __label_insert(ls, new, false); in vec_create_and_insert_label()
885 write_unlock_irqrestore(&ls->lock, flags); in vec_create_and_insert_label()
921 * aa_label_insert - insert label @label into @ls or return existing label
922 * @ls: labelset to insert @label into
930 struct aa_label *aa_label_insert(struct aa_labelset *ls, struct aa_label *label) in aa_label_insert() argument
935 AA_BUG(!ls); in aa_label_insert()
940 read_lock_irqsave(&ls->lock, flags); in aa_label_insert()
942 read_unlock_irqrestore(&ls->lock, flags); in aa_label_insert()
947 write_lock_irqsave(&ls->lock, flags); in aa_label_insert()
948 l = __label_insert(ls, label, false); in aa_label_insert()
949 write_unlock_irqrestore(&ls->lock, flags); in aa_label_insert()
1056 struct aa_labelset *ls; in label_merge_insert() local
1106 ls = labels_set(new); in label_merge_insert()
1107 write_lock_irqsave(&ls->lock, flags); in label_merge_insert()
1109 write_unlock_irqrestore(&ls->lock, flags); in label_merge_insert()
1134 * @ls: set of labels to search (NOT NULL)
1138 * Requires: ls->lock read_lock held
1143 static struct aa_label *__label_find_merge(struct aa_labelset *ls, in __label_find_merge() argument
1149 AA_BUG(!ls); in __label_find_merge()
1156 node = ls->root.rb_node; in __label_find_merge()
1186 struct aa_labelset *ls; in aa_label_find_merge() local
1197 ls = labelset_of_merge(a, b); in aa_label_find_merge()
1198 read_lock_irqsave(&ls->lock, flags); in aa_label_find_merge()
1199 label = __label_find_merge(ls, a, b); in aa_label_find_merge()
1200 read_unlock_irqrestore(&ls->lock, flags); in aa_label_find_merge()
1448 struct aa_labelset *ls; in aa_update_label_name() local
1462 ls = labels_set(label); in aa_update_label_name()
1463 write_lock_irqsave(&ls->lock, flags); in aa_update_label_name()
1469 write_unlock_irqrestore(&ls->lock, flags); in aa_update_label_name()
1978 * @ls: label set to cleanup (NOT NULL)
1983 void aa_labelset_destroy(struct aa_labelset *ls) in aa_labelset_destroy() argument
1988 AA_BUG(!ls); in aa_labelset_destroy()
1990 write_lock_irqsave(&ls->lock, flags); in aa_labelset_destroy()
1991 for (node = rb_first(&ls->root); node; node = rb_first(&ls->root)) { in aa_labelset_destroy()
2000 write_unlock_irqrestore(&ls->lock, flags); in aa_labelset_destroy()
2004 * @ls: labelset to init (NOT NULL)
2006 void aa_labelset_init(struct aa_labelset *ls) in aa_labelset_init() argument
2008 AA_BUG(!ls); in aa_labelset_init()
2010 rwlock_init(&ls->lock); in aa_labelset_init()
2011 ls->root = RB_ROOT; in aa_labelset_init()
2014 static struct aa_label *labelset_next_stale(struct aa_labelset *ls) in labelset_next_stale() argument
2020 AA_BUG(!ls); in labelset_next_stale()
2022 read_lock_irqsave(&ls->lock, flags); in labelset_next_stale()
2024 __labelset_for_each(ls, node) { in labelset_next_stale()
2035 read_unlock_irqrestore(&ls->lock, flags); in labelset_next_stale()
2055 struct aa_labelset *ls; in __label_update() local
2070 ls = labels_set(label); in __label_update()
2071 write_lock_irqsave(&ls->lock, flags); in __label_update()
2093 write_unlock_irqrestore(&ls->lock, flags); in __label_update()
2095 write_lock_irqsave(&ls->lock, flags); in __label_update()
2105 write_unlock_irqrestore(&ls->lock, flags); in __label_update()