bpf: extend cgroup bpf core to allow multiple cgroup storage types
authorRoman Gushchin <guro@fb.com>
Fri, 28 Sep 2018 14:45:36 +0000 (14:45 +0000)
committerDaniel Borkmann <daniel@iogearbox.net>
Mon, 1 Oct 2018 14:18:32 +0000 (16:18 +0200)
commit8bad74f9840f87661f20ced3dc80c84ab4fd55a1
tree1ac3ef2547d12f0fd6a232fbc1daac2672537907
parent5bf7a60b8e70969f65c961d7e2c4eb40eb2c664d
bpf: extend cgroup bpf core to allow multiple cgroup storage types

In order to introduce per-cpu cgroup storage, let's generalize
bpf cgroup core to support multiple cgroup storage types.
Potentially, per-node cgroup storage can be added later.

This commit is mostly a formal change that replaces
cgroup_storage pointer with a array of cgroup_storage pointers.
It doesn't actually introduce a new storage type,
it will be done later.

Each bpf program is now able to have one cgroup storage of each type.

Signed-off-by: Roman Gushchin <guro@fb.com>
Acked-by: Song Liu <songliubraving@fb.com>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
include/linux/bpf-cgroup.h
include/linux/bpf.h
kernel/bpf/cgroup.c
kernel/bpf/helpers.c
kernel/bpf/local_storage.c
kernel/bpf/syscall.c
kernel/bpf/verifier.c
net/bpf/test_run.c