lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 31 Jul 2020 11:28:25 -0700 From: Andrii Nakryiko <andriin@...com> To: <bpf@...r.kernel.org>, <netdev@...r.kernel.org>, <ast@...com>, <daniel@...earbox.net> CC: <andrii.nakryiko@...il.com>, <kernel-team@...com>, Andrii Nakryiko <andriin@...com> Subject: [PATCH v2 bpf-next 0/5] BPF link force-detach support This patch set adds new BPF link operation, LINK_DETACH, allowing processes with BPF link FD to force-detach it from respective BPF hook, similarly how BPF link is auto-detached when such BPF hook (e.g., cgroup, net_device, netns, etc) is removed. This facility allows admin to forcefully undo BPF link attachment, while process that created BPF link in the first place is left intact. Once force-detached, BPF link stays valid in the kernel as long as there is at least one FD open against it. It goes into defunct state, just like auto-detached BPF link. bpftool also got `link detach` command to allow triggering this in non-programmatic fashion. v1->v2: - improve error reporting in `bpftool link detach` (Song). Andrii Nakryiko (5): bpf: add support for forced LINK_DETACH command libbpf: add bpf_link detach APIs selftests/bpf: add link detach tests for cgroup, netns, and xdp bpf_links tools/bpftool: add `link detach` subcommand tools/bpftool: add documentation and bash-completion for `link detach` include/linux/bpf.h | 1 + include/uapi/linux/bpf.h | 5 ++ kernel/bpf/cgroup.c | 15 +++++- kernel/bpf/net_namespace.c | 8 +++ kernel/bpf/syscall.c | 26 ++++++++++ net/core/dev.c | 11 +++- .../bpftool/Documentation/bpftool-link.rst | 8 +++ tools/bpf/bpftool/bash-completion/bpftool | 4 +- tools/bpf/bpftool/link.c | 37 +++++++++++++- tools/include/uapi/linux/bpf.h | 5 ++ tools/lib/bpf/bpf.c | 10 ++++ tools/lib/bpf/bpf.h | 2 + tools/lib/bpf/libbpf.c | 5 ++ tools/lib/bpf/libbpf.h | 1 + tools/lib/bpf/libbpf.map | 2 + .../selftests/bpf/prog_tests/cgroup_link.c | 20 +++++++- .../selftests/bpf/prog_tests/sk_lookup.c | 51 +++++++++---------- .../selftests/bpf/prog_tests/xdp_link.c | 14 +++++ tools/testing/selftests/bpf/testing_helpers.c | 14 +++++ tools/testing/selftests/bpf/testing_helpers.h | 3 ++ 20 files changed, 208 insertions(+), 34 deletions(-) -- 2.24.1
Powered by blists - more mailing lists