linux/arch
Ilya Leoshkevich b5bbbb70e5 s390/bpf: Use direct calls and jumps where possible
After the V!=R rework (commit c98d2ecae0 ("s390/mm: Uncouple physical
vs virtual address spaces")), all kernel code and related data are
allocated within a 4G region, making it possible to use relative
addressing in BPF code more extensively.

Convert as many indirect calls and jumps to direct calls as possible,
namely:

* BPF_CALL
* __bpf_tramp_enter()
* __bpf_tramp_exit()
* __bpf_prog_enter()
* __bpf_prog_exit()
* fentry
* fmod_ret
* fexit
* BPF_TRAMP_F_CALL_ORIG without BPF_TRAMP_F_ORIG_STACK
* Trampoline returns without BPF_TRAMP_F_SKIP_FRAME and
  BPF_TRAMP_F_ORIG_STACK

The following indirect calls and jumps remain:

* Prog returns
* Trampoline returns with BPF_TRAMP_F_SKIP_FRAME or
  BPF_TRAMP_F_ORIG_STACK
* BPF_TAIL_CALL
* BPF_TRAMP_F_CALL_ORIG with BPF_TRAMP_F_ORIG_STACK

As a result, only one usage of call_r1() remains, so inline it.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20250819102116.252203-1-iii@linux.ibm.com
2025-08-20 14:54:58 +02:00
..
alpha Significant patch series in this pull request: 2025-08-03 16:23:09 -07:00
arc
arm gpio updates for v6.17-rc1 2025-08-09 08:15:43 +03:00
arm64 soc: fixes for 6.17, part 1 2025-08-09 07:58:55 +03:00
csky ftrace changes for v6.17: 2025-07-30 16:04:10 -07:00
hexagon
loongarch LoongArch changes for v6.17 2025-08-08 06:36:48 +03:00
m68k treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
microblaze ftrace changes for v6.17: 2025-07-30 16:04:10 -07:00
mips treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
nios2
openrisc OpenRISC updates for 6.17 2025-08-04 08:37:46 -07:00
parisc parisc architecture fixes for kernel v6.17-rc1: 2025-08-01 16:15:53 -07:00
powerpc treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
riscv riscv, bpf: Add support arena atomics for RV64 2025-08-15 10:46:51 +02:00
s390 s390/bpf: Use direct calls and jumps where possible 2025-08-20 14:54:58 +02:00
sh Significant patch series in this pull request: 2025-08-03 16:23:09 -07:00
sparc Summary of significant series in this pull request: 2025-07-31 14:57:54 -07:00
um Mostly cleanups, except: 2025-07-29 20:31:45 -07:00
x86 - Fix an interrupt vector setup race which leads to a non-functioning device 2025-08-10 08:15:32 +03:00
xtensa Xtensa updates for v6.17 2025-08-09 07:35:03 +03:00
.gitignore
Kconfig Deferred unwind changes for 6.17 2025-08-01 09:46:24 -07:00