diff options
author | Jakub Sitnicki <jakub@cloudflare.com> | 2020-06-25 16:13:56 +0200 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2020-06-30 19:45:08 +0200 |
commit | ab53cad90eb10c9991f501ba08904680a074ef3d (patch) | |
tree | a40a6f6aacc3e55888d939cf640ca754de98126f /include | |
parent | bpf, netns: Keep attached programs in bpf_prog_array (diff) | |
download | linux-ab53cad90eb10c9991f501ba08904680a074ef3d.tar.xz linux-ab53cad90eb10c9991f501ba08904680a074ef3d.zip |
bpf, netns: Keep a list of attached bpf_link's
To support multi-prog link-based attachments for new netns attach types, we
need to keep track of more than one bpf_link per attach type. Hence,
convert net->bpf.links into a list, that currently can be either empty or
have just one item.
Instead of reusing bpf_prog_list from bpf-cgroup, we link together
bpf_netns_link's themselves. This makes list management simpler as we don't
have to allocate, initialize, and later release list elements. We can do
this because multi-prog attachment will be available only for bpf_link, and
we don't need to build a list of programs attached directly and indirectly
via links.
No functional changes intended.
Signed-off-by: Jakub Sitnicki <jakub@cloudflare.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Link: https://lore.kernel.org/bpf/20200625141357.910330-4-jakub@cloudflare.com
Diffstat (limited to 'include')
-rw-r--r-- | include/net/netns/bpf.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/net/netns/bpf.h b/include/net/netns/bpf.h index a5015bda9979..0ca6a1b87185 100644 --- a/include/net/netns/bpf.h +++ b/include/net/netns/bpf.h @@ -15,7 +15,7 @@ struct netns_bpf { /* Array of programs to run compiled from progs or links */ struct bpf_prog_array __rcu *run_array[MAX_NETNS_BPF_ATTACH_TYPE]; struct bpf_prog *progs[MAX_NETNS_BPF_ATTACH_TYPE]; - struct bpf_link *links[MAX_NETNS_BPF_ATTACH_TYPE]; + struct list_head links[MAX_NETNS_BPF_ATTACH_TYPE]; }; #endif /* __NETNS_BPF_H__ */ |