mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 02:39:48 +00:00
![Hendrik Brueckner](/assets/img/avatar_default.png)
Commit0515e5999a
("bpf: introduce BPF_PROG_TYPE_PERF_EVENT program type") introduced the bpf_perf_event_data structure which exports the pt_regs structure. This is OK for multiple architectures but fail for s390 and arm64 which do not export pt_regs. Programs using them, for example, the bpf selftest fail to compile on these architectures. For s390, exporting the pt_regs is not an option because s390 wants to allow changes to it. For arm64, there is a user_pt_regs structure that covers parts of the pt_regs structure for use by user space. To solve the broken uapi for s390 and arm64, introduce an abstract type for pt_regs and add an asm/bpf_perf_event.h file that concretes the type. An asm-generic header file covers the architectures that export pt_regs today. The arch-specific enablement for s390 and arm64 follows in separate commits. Reported-by: Thomas Richter <tmricht@linux.vnet.ibm.com> Fixes:0515e5999a
("bpf: introduce BPF_PROG_TYPE_PERF_EVENT program type") Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com> Reviewed-and-tested-by: Thomas Richter <tmricht@linux.vnet.ibm.com> Acked-by: Alexei Starovoitov <ast@kernel.org> Cc: Arnaldo Carvalho de Melo <acme@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
31 lines
705 B
Makefile
31 lines
705 B
Makefile
# UAPI Header export list
|
|
include include/uapi/asm-generic/Kbuild.asm
|
|
|
|
generic-y += auxvec.h
|
|
generic-y += bitsperlong.h
|
|
generic-y += bpf_perf_event.h
|
|
generic-y += errno.h
|
|
generic-y += fcntl.h
|
|
generic-y += ioctl.h
|
|
generic-y += ioctls.h
|
|
generic-y += ipcbuf.h
|
|
generic-y += kvm_para.h
|
|
generic-y += mman.h
|
|
generic-y += msgbuf.h
|
|
generic-y += param.h
|
|
generic-y += poll.h
|
|
generic-y += posix_types.h
|
|
generic-y += resource.h
|
|
generic-y += sembuf.h
|
|
generic-y += setup.h
|
|
generic-y += shmbuf.h
|
|
generic-y += shmparam.h
|
|
generic-y += signal.h
|
|
generic-y += socket.h
|
|
generic-y += sockios.h
|
|
generic-y += stat.h
|
|
generic-y += statfs.h
|
|
generic-y += termbits.h
|
|
generic-y += termios.h
|
|
generic-y += types.h
|
|
generic-y += ucontext.h
|