[PATCH 07/15] bpf: Move bpf_tree add/del from bpf_prog_ksym_node_add/del

Jiri Olsa
2020-03-02T14:32:36Z

Moving bpf_tree add/del from bpf_prog_ksym_node_add/del,
because it will be used (and renamed) in following patches
for bpf_ksym objects. The bpf_tree is specific for bpf_prog
objects.

Acked-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
kernel/bpf/core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/bpf/core.c b/kernel/bpf/core.c
index c36558c44637..cd7049441953 100644
--- a/kernel/bpf/core.c
+++ b/kernel/bpf/core.c
@@ -649,7 +649,6 @@ static void bpf_prog_ksym_node_add(struct bpf_prog_aux *aux)
{
WARN_ON_ONCE(!list_empty(&aux->ksym.lnode));
list_add_tail_rcu(&aux->ksym.lnode, &bpf_kallsyms);
- latch_tree_insert(&aux->ksym_tnode, &bpf_tree, &bpf_tree_ops);
latch_tree_insert(&aux->ksym.tnode, &bpf_ksym_tree, &bpf_ksym_tree_ops);
}

@@ -658,7 +657,6 @@ static void bpf_prog_ksym_node_del(struct bpf_prog_aux *aux)
if (list_empty(&aux->ksym.lnode))
return;

- latch_tree_erase(&aux->ksym_tnode, &bpf_tree, &bpf_tree_ops);
latch_tree_erase(&aux->ksym.tnode, &bpf_ksym_tree, &bpf_ksym_tree_ops);
list_del_rcu(&aux->ksym.lnode);
}
@@ -684,6 +682,7 @@ void bpf_prog_kallsyms_add(struct bpf_prog *fp)
bpf_prog_ksym_set_name(fp);

spin_lock_bh(&bpf_lock);
+ latch_tree_insert(&fp->aux->ksym_tnode, &bpf_tree, &bpf_tree_ops);
bpf_prog_ksym_node_add(fp->aux);
spin_unlock_bh(&bpf_lock);
}
@@ -694,6 +693,7 @@ void bpf_prog_kallsyms_del(struct bpf_prog *fp)
return;

spin_lock_bh(&bpf_lock);
+ latch_tree_erase(&fp->aux->ksym_tnode, &bpf_tree, &bpf_tree_ops);
bpf_prog_ksym_node_del(fp->aux);
spin_unlock_bh(&bpf_lock);
}
--
2.24.1