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);
329 if (label->proxy) {
330 if (rcu_dereference_protected(label->proxy->label, true) == label)
331 rcu_assign_pointer(label->proxy->label, NULL);
332 aa_put_proxy(label->proxy);
336 label->proxy = (struct aa_proxy *) PROXY_POISON + 1;
390 /* need to free directly to break circular ref with proxy */
415 * @proxy: proxy to use OR null if to allocate a new one
421 struct aa_label *aa_label_alloc(int size, struct aa_proxy *proxy, gfp_t gfp)
437 if (!proxy) {
438 proxy = aa_alloc_proxy(new, gfp);
439 if (!proxy)
442 aa_get_proxy(proxy);
443 /* just set new's proxy, don't redirect proxy here if it was passed in*/
444 new->proxy = proxy;
658 * if @replace is true l has a preallocated proxy associated
685 * the proxy
800 if (old->proxy != new->proxy)
1036 * Requires: preallocated proxy
1070 AA_BUG(!new->vec[k]->label.proxy);
1071 AA_BUG(!new->vec[k]->label.proxy->label);
1072 if (next->label.proxy != new->vec[k]->label.proxy)
2060 new = aa_label_alloc(label->size, label->proxy, GFP_KERNEL);
2074 AA_BUG(!new->vec[i]->label.proxy);
2075 AA_BUG(!new->vec[i]->label.proxy->label);
2076 if (new->vec[i]->label.proxy != label->vec[i]->label.proxy)