linux/tools
Kumar Kartikeya Dwivedi 2fb761823e bpf, x86: Add x86 JIT support for timed may_goto
Implement the arch_bpf_timed_may_goto function using inline assembly to
have control over which registers are spilled, and use our special
protocol of using BPF_REG_AX as an argument into the function, and as
the return value when going back.

Emit call depth accounting for the call made from this stub, and ensure
we don't have naked returns (when rethunk mitigations are enabled) by
falling back to the RET macro (instead of retq). After popping all saved
registers, the return address into the BPF program should be on top of
the stack.

Since the JIT support is now enabled, ensure selftests which are
checking the produced may_goto sequences do not break by adjusting them.
Make sure we still test the old may_goto sequence on other
architectures, while testing the new sequence on x86_64.

Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Link: https://lore.kernel.org/r/20250304003239.2390751-3-memxor@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2025-03-15 11:48:28 -07:00
..
accounting getdelays: fix error format characters 2025-02-17 22:40:02 -08:00
arch arm64/sysreg/tools: Move TRFCR definitions to sysreg 2025-01-12 12:50:11 +00:00
bootconfig tools/bootconfig: Fix the wrong format specifier 2025-01-28 23:27:01 +09:00
bpf bpftool: Check map name length when map create 2025-02-13 20:11:38 -08:00
build perf tools: Expose quiet/verbose variables in Makefile.perf 2025-01-16 10:59:20 -08:00
certs
cgroup
counter
crypto
debugging
firewire
firmware
gpio
hv
iio
include bpf: Allow pre-ordering for bpf cgroup progs 2025-03-15 11:48:25 -07:00
kvm/kvm_stat
laptop
leds
lib libbpf: Split bpf object load into prepare/load 2025-03-15 11:48:28 -07:00
memory-model
mm tools/mm: fix build warnings with musl-libc 2025-02-17 22:40:02 -08:00
net tools: ynl: c: correct reverse decode of empty attrs 2025-01-27 14:30:23 -08:00
objtool - Move a warning about a lld.ld breakage into the verbose setting as said 2025-02-16 10:30:58 -08:00
pcmcia
perf perf-tools fixes for 6.14 2025-01-30 17:38:20 -08:00
power Turbostat 2025.02.02 updates since 2024.11.30 2025-02-02 10:49:13 -08:00
rcu
sched_ext sched_ext: Fix the incorrect bpf_list kfunc API in common.bpf.h. 2025-02-13 06:47:08 -10:00
scripts perf tools: Create generic syscall table support 2025-01-09 12:49:49 -03:00
sound
spi
testing bpf, x86: Add x86 JIT support for timed may_goto 2025-03-15 11:48:28 -07:00
thermal
time
tracing rv: tools/rtla: Updates for 6.14 2025-01-26 14:25:58 -08:00
usb
verification
virtio
wmi
workqueue
writeback
Makefile