Merge branch 'replace-cg_bpf-prog'
authorAlexei Starovoitov <ast@kernel.org>
Fri, 20 Dec 2019 05:22:26 +0000 (21:22 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 20 Dec 2019 05:23:40 +0000 (21:23 -0800)
commit99cacdc6f661f50f44a0ef006a1a3db20c0577f6
tree18a302018c3a5b382a58f6c534d9b6ed651bf696
parentc92bbaa0fda587c6f2397dc7d31f7f3b7b49fa77
parent06ac0186bd242d44f5703ce64ee0077b317c86bb
Merge branch 'replace-cg_bpf-prog'

Andrey Ignatov says:

====================
v3->v4:
- use OPTS_VALID and OPTS_GET to handle bpf_prog_attach_opts.

v2->v3:
- rely on DECLARE_LIBBPF_OPTS from libbpf_common.h;
- separate "required" and "optional" arguments in bpf_prog_attach_xattr;
- convert test_cgroup_attach to prog_tests;
- move the new selftest to prog_tests/cgroup_attach_multi.

v1->v2:
- move DECLARE_LIBBPF_OPTS from libbpf.h to bpf.h (patch 4);
- switch new libbpf API to OPTS framework;
- switch selftest to libbpf OPTS framework.

This patch set adds support for replacing cgroup-bpf programs attached with
BPF_F_ALLOW_MULTI flag so that any program in a list can be updated to a new
version without service interruption and order of programs can be preserved.

Please see patch 3 for details on the use-case and API changes.

Other patches:
Patch 1 is preliminary refactoring of __cgroup_bpf_attach to simplify it.
Patch 2 is minor cleanup of hierarchy_allows_attach.
Patch 4 extends libbpf API to support new set of attach attributes.
Patch 5 converts test_cgroup_attach to prog_tests.
Patch 6 adds selftest coverage for the new API.
====================

Signed-off-by: Alexei Starovoitov <ast@kernel.org>