s390/bpf: correct broken uapi for BPF_PROG_TYPE_PERF_EVENT program type
To mitigate and correct the broken uapi for the BPF_PROG_TYPE_PERF_EVENT program type, introduce a user_pt_regs structure (similar to arm64) that exports parts from the beginnig of the pt_regs structure. The export must start with the beginning of the pt_regs structure because to correctly calculate BPF prologues for perf (regs_query_register_offset()). For BPF_PROG_TYPE_PERF_EVENT program types, the BPF program is then passed a user_pt_regs structure. Note: Depending on future changes to the s390 pt_regs structure, consider the user_pt_regs structure to be stable for a particular kernel version only. (Of course, s390 tries to ensure keep it stable as much as possible.) 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: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Arnaldo Carvalho de Melo <acme@kernel.org> Cc: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by:
Daniel Borkmann <daniel@iogearbox.net>
Showing
- arch/s390/include/asm/perf_event.h 1 addition, 0 deletionsarch/s390/include/asm/perf_event.h
- arch/s390/include/asm/ptrace.h 8 additions, 3 deletionsarch/s390/include/asm/ptrace.h
- arch/s390/include/uapi/asm/bpf_perf_event.h 9 additions, 0 deletionsarch/s390/include/uapi/asm/bpf_perf_event.h
- arch/s390/include/uapi/asm/ptrace.h 11 additions, 0 deletionsarch/s390/include/uapi/asm/ptrace.h
arch/s390/include/uapi/asm/bpf_perf_event.h
0 → 100644
Please register or sign in to comment