filter_chain
struct hlist_node filter_chain;
hlist_add_head(&filter->filter_chain,
filter_chain) {
hlist_del(&filter->filter_chain);
hlist_del(&filter->filter_chain);
struct tcf_proto __rcu *filter_chain;
struct tcf_proto __rcu *filter_chain;
if (!filter_chain(uprobe, mm))
filter_chain(uprobe, vma->vm_mm)) {
if (!filter_chain(uprobe, current->mm)) {
res->goto_tp = rcu_dereference_bh(chain->filter_chain);
tp = tcf_chain_dereference(chain->filter_chain, chain);
tp = tcf_chain_dereference(chain->filter_chain, chain);
tp = rcu_dereference_bh(fchain->filter_chain);
if (*chain_info->pprev == chain->filter_chain)
if (tp == chain->filter_chain)
for (pprev = &chain->filter_chain;
if (tp == chain->filter_chain)
for (pprev = &chain->filter_chain;
qe->info.chain_head_change_priv = &qe->filter_chain;
fl = rcu_dereference_bh(qe->filter_chain);
tp = tcf_chain_dereference(chain->filter_chain, chain);
tp = tcf_chain_dereference(chain->filter_chain, chain);
RCU_INIT_POINTER(chain->filter_chain, NULL);
tp_head = tcf_chain_dereference(chain0->filter_chain, chain0);