linux-stable/tools/lib/bpf
Alexei Starovoitov b429d0b9a7 bpf: Disallow bpf programs call prog_run command.
commit 86f44fcec2 upstream.

The verifier cannot perform sufficient validation of bpf_attr->test.ctx_in
pointer, therefore bpf programs should not be allowed to call BPF_PROG_RUN
command from within the program.
To fix this issue split bpf_sys_bpf() bpf helper into normal kern_sys_bpf()
kernel function that can only be used by the kernel light skeleton directly.

Reported-by: YiFei Zhu <zhuyifei@google.com>
Fixes: b1d18a7574 ("bpf: Extend sys_bpf commands for bpf_syscall programs.")
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-08-25 11:45:13 +02:00
..
.gitignore libbpf: Make libbpf_version.h non-auto-generated 2021-09-13 15:36:47 -07:00
bpf.c libbpf: remove bpf_create_map*() APIs 2022-05-19 09:03:31 -07:00
bpf.h libbpf: remove bpf_create_map*() APIs 2022-05-19 09:03:31 -07:00
bpf_core_read.h libbpf: Complete field-based CO-RE helpers with field offset helper 2022-05-09 17:15:32 +02:00
bpf_endian.h libbpf: Make bpf_endian co-exist with vmlinux.h 2020-07-01 09:06:12 +02:00
bpf_gen_internal.h Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2021-12-10 15:56:13 -08:00
bpf_helpers.h libbpf: Provide barrier() and barrier_var() in bpf_helpers.h 2022-05-09 17:15:32 +02:00
bpf_prog_linfo.c libbpf: Streamline error reporting for high-level APIs 2021-05-25 17:32:35 -07:00
bpf_tracing.h libbpf, riscv: Use a0 for RC register 2022-08-17 15:14:42 +02:00
btf.c libbpf: Avoid joining .BTF.ext data with BPF programs by section name 2022-04-26 15:41:46 -07:00
btf.h libbpf: Deprecate forgotten btf__get_map_kv_tids() 2022-02-04 01:07:16 +01:00
btf_dump.c libbpf: Skip forward declaration when counting duplicated type names 2022-03-01 13:40:57 +01:00
Build libbpf: Wire up USDT API and bpf_link integration 2022-04-05 13:16:07 -07:00
gen_loader.c libbpf: fix an snprintf() overflow check 2022-08-17 15:14:51 +02:00
hashmap.c libbpf: Use IS_ERR_OR_NULL() in hashmap__free() 2022-01-12 17:01:36 -08:00
hashmap.h libbpf, hashmap: Fix undefined behavior in hash_bits 2020-11-02 23:33:51 +01:00
libbpf.c libbpf: make RINGBUF map size adjustments more eagerly 2022-08-17 15:14:51 +02:00
libbpf.h libbpf: Add safer high-level wrappers for map operations 2022-05-13 15:15:02 +02:00
libbpf.map libbpf: start 1.0 development cycle 2022-05-19 09:03:31 -07:00
libbpf.pc.template libbpf: Add zlib as a dependency in pkg-config template 2019-12-16 14:55:29 -08:00
libbpf_common.h libbpf: Deprecate bpf_prog_load_xattr() API 2021-12-02 15:23:41 -08:00
libbpf_errno.c libbpf: Streamline error reporting for high-level APIs 2021-05-25 17:32:35 -07:00
libbpf_internal.h libbpf: Fix str_has_sfx()'s return value 2022-08-17 15:14:53 +02:00
libbpf_legacy.h libbpf: .text routines are subprograms in strict mode 2022-03-17 23:11:15 -07:00
libbpf_probes.c libbpf: Improve LINUX_VERSION_CODE detection 2021-12-28 19:20:31 -08:00
libbpf_version.h libbpf: start 1.0 development cycle 2022-05-19 09:03:31 -07:00
linker.c libbpf: Fix is_pow_of_2 2022-08-17 15:14:25 +02:00
Makefile libbpf: fix up global symbol counting logic 2022-05-19 09:03:31 -07:00
netlink.c libbpf: Fix memleak in libbpf_netlink_recv() 2022-02-17 16:09:07 +01:00
nlattr.c libbpf: Switch to void * casting in netlink helpers 2021-06-22 17:04:02 +02:00
nlattr.h libbpf: Switch to void * casting in netlink helpers 2021-06-22 17:04:02 +02:00
relo_core.c libbpf: Fix up verifier log for unguarded failed CO-RE relos 2022-04-26 15:41:46 -07:00
relo_core.h libbpf: Fix up verifier log for unguarded failed CO-RE relos 2022-04-26 15:41:46 -07:00
ringbuf.c libbpf: Streamline error reporting for high-level APIs 2021-05-25 17:32:35 -07:00
skel_internal.h bpf: Disallow bpf programs call prog_run command. 2022-08-25 11:45:13 +02:00
str_error.c libbpf: Poison kernel-only integer types 2020-01-10 10:38:00 -08:00
str_error.h
strset.c libbpf: Fix memory leak in strset 2021-10-01 22:54:38 +02:00
strset.h libbpf: Extract internal set-of-strings datastructure APIs 2021-03-18 16:14:22 -07:00
usdt.bpf.h libbpf: Use weak hidden modifier for USDT BPF-side API functions 2022-04-08 22:24:15 +02:00
usdt.c libbpf: Fix internal USDT address translation logic for shared libraries 2022-08-17 15:14:30 +02:00
xsk.c selftests/xsk: Destroy BPF resources only when ctx refcount drops to 0 2022-08-17 15:14:39 +02:00
xsk.h libbpf: Deprecate AF_XDP support 2021-11-01 18:12:44 -07:00