mbox series

[bpf-next,0/5] bpf: Support replacing cgroup-bpf program in MULTI mode

Message ID cover.1576031228.git.rdna@fb.com
Headers show
Series bpf: Support replacing cgroup-bpf program in MULTI mode | expand

Message

Andrey Ignatov Dec. 11, 2019, 2:33 a.m. UTC
This patch set adds support for replacing cgroup-bpf programs attached with
BPF_F_ALLOW_MULTI flag so that any program 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 adds selftest coverage for the new API.


Andrey Ignatov (5):
  bpf: Simplify __cgroup_bpf_attach
  bpf: Remove unused new_flags in hierarchy_allows_attach()
  bpf: Support replacing cgroup-bpf program in MULTI mode
  libbpf: Introduce bpf_prog_attach_xattr
  selftests/bpf: Cover BPF_F_REPLACE in test_cgroup_attach

 include/linux/bpf-cgroup.h                    |  4 +-
 include/uapi/linux/bpf.h                      | 10 ++
 kernel/bpf/cgroup.c                           | 97 ++++++++++---------
 kernel/bpf/syscall.c                          |  4 +-
 kernel/cgroup/cgroup.c                        |  5 +-
 tools/include/uapi/linux/bpf.h                | 10 ++
 tools/lib/bpf/bpf.c                           | 22 ++++-
 tools/lib/bpf/bpf.h                           | 10 ++
 tools/lib/bpf/libbpf.map                      |  5 +
 .../selftests/bpf/test_cgroup_attach.c        | 61 +++++++++++-
 10 files changed, 168 insertions(+), 60 deletions(-)