There is a structure, struct prog_poke_elem, defined in the k/b/array.c. It contains a list_head and a pointer to a bpf_prog_aux instance, and its purpose is to serve as a list element in a list of bpf_prog_aux instances. Rename it to struct bpf_prog_aux_list_elem and define inside the i/l/bpf.h so that it can be reused for similar purposes by other pieces of code. Signed-off-by: Anton Protopopov <aspsk@xxxxxxxxxxxxx> --- include/linux/bpf.h | 5 +++++ kernel/bpf/arraymap.c | 13 ++++--------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/include/linux/bpf.h b/include/linux/bpf.h index eb84caf133df..8085780b7fcd 100644 --- a/include/linux/bpf.h +++ b/include/linux/bpf.h @@ -3227,4 +3227,9 @@ static inline bool bpf_is_subprog(const struct bpf_prog *prog) return prog->aux->func_idx != 0; } +struct bpf_prog_aux_list_elem { + struct list_head list; + struct bpf_prog_aux *aux; +}; + #endif /* _LINUX_BPF_H */ diff --git a/kernel/bpf/arraymap.c b/kernel/bpf/arraymap.c index 2058e89b5ddd..7e6df6bd7e7a 100644 --- a/kernel/bpf/arraymap.c +++ b/kernel/bpf/arraymap.c @@ -956,15 +956,10 @@ static void prog_array_map_seq_show_elem(struct bpf_map *map, void *key, rcu_read_unlock(); } -struct prog_poke_elem { - struct list_head list; - struct bpf_prog_aux *aux; -}; - static int prog_array_map_poke_track(struct bpf_map *map, struct bpf_prog_aux *prog_aux) { - struct prog_poke_elem *elem; + struct bpf_prog_aux_list_elem *elem; struct bpf_array_aux *aux; int ret = 0; @@ -997,7 +992,7 @@ static int prog_array_map_poke_track(struct bpf_map *map, static void prog_array_map_poke_untrack(struct bpf_map *map, struct bpf_prog_aux *prog_aux) { - struct prog_poke_elem *elem, *tmp; + struct bpf_prog_aux_list_elem *elem, *tmp; struct bpf_array_aux *aux; aux = container_of(map, struct bpf_array, map)->aux; @@ -1017,7 +1012,7 @@ static void prog_array_map_poke_run(struct bpf_map *map, u32 key, struct bpf_prog *new) { u8 *old_addr, *new_addr, *old_bypass_addr; - struct prog_poke_elem *elem; + struct bpf_prog_aux_list_elem *elem; struct bpf_array_aux *aux; aux = container_of(map, struct bpf_array, map)->aux; @@ -1148,7 +1143,7 @@ static struct bpf_map *prog_array_map_alloc(union bpf_attr *attr) static void prog_array_map_free(struct bpf_map *map) { - struct prog_poke_elem *elem, *tmp; + struct bpf_prog_aux_list_elem *elem, *tmp; struct bpf_array_aux *aux; aux = container_of(map, struct bpf_array, map)->aux; -- 2.34.1