Lines Matching refs:proxy

42 static void free_proxy(struct aa_proxy *proxy)
44 if (proxy) {
46 aa_put_label(rcu_dereference_protected(proxy->label, true));
47 memset(proxy, 0, sizeof(*proxy));
48 RCU_INIT_POINTER(proxy->label, (struct aa_label *)PROXY_POISON);
49 kfree(proxy);
55 struct aa_proxy *proxy = container_of(kref, struct aa_proxy, count);
57 free_proxy(proxy);
81 tmp = rcu_dereference_protected(orig->proxy->label,
83 rcu_assign_pointer(orig->proxy->label, aa_get_label(new));
90 struct aa_proxy *proxy = new->proxy;
92 new->proxy = aa_get_proxy(old->proxy);
94 aa_put_proxy(proxy);
338 if (label->proxy) {
339 if (rcu_dereference_protected(label->proxy->label, true) == label)
340 rcu_assign_pointer(label->proxy->label, NULL);
341 aa_put_proxy(label->proxy);
345 label->proxy = (struct aa_proxy *) PROXY_POISON + 1;
399 /* need to free directly to break circular ref with proxy */
424 * @proxy: proxy to use OR null if to allocate a new one
430 struct aa_label *aa_label_alloc(int size, struct aa_proxy *proxy, gfp_t gfp)
445 if (!proxy) {
446 proxy = aa_alloc_proxy(new, gfp);
447 if (!proxy)
450 aa_get_proxy(proxy);
451 /* just set new's proxy, don't redirect proxy here if it was passed in*/
452 new->proxy = proxy;
667 * if @replace is true l has a preallocated proxy associated
694 * the proxy
810 if (old->proxy != new->proxy)
1029 * Requires: preallocated proxy
1063 AA_BUG(!new->vec[k]->label.proxy);
1064 AA_BUG(!new->vec[k]->label.proxy->label);
1065 if (next->label.proxy != new->vec[k]->label.proxy)
2034 new = aa_label_alloc(label->size, label->proxy, GFP_KERNEL);
2048 AA_BUG(!new->vec[i]->label.proxy);
2049 AA_BUG(!new->vec[i]->label.proxy->label);
2050 if (new->vec[i]->label.proxy != label->vec[i]->label.proxy)