Skip to content
  • Hendrik Brueckner's avatar
    s390/bpf: correct broken uapi for BPF_PROG_TYPE_PERF_EVENT program type · 466698e6
    Hendrik Brueckner authored
    
    
    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: default avatarHendrik Brueckner <brueckner@linux.vnet.ibm.com>
    Reviewed-and-tested-by: default avatarThomas Richter <tmricht@linux.vnet.ibm.com>
    Acked-by: default avatarAlexei 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: default avatarDaniel Borkmann <daniel@iogearbox.net>
    466698e6