mbox series

[RESEND,bpf,0/2] x86/bpf: Fixes for the BPF JIT with retbleed=stuff

Message ID 20240329094906.18147-1-ubizjak@gmail.com (mailing list archive)
Headers show
Series x86/bpf: Fixes for the BPF JIT with retbleed=stuff | expand

Message

Uros Bizjak March 29, 2024, 9:46 a.m. UTC
From: Joan Bruguera Micó <joanbrugueram@gmail.com>

Fixes two issues that cause kernels panic when using the BPF JIT with
the call depth tracking / stuffing mitigation for Skylake processors
(`retbleed=stuff`). Both issues can be triggered by running simple
BPF programs (e.g. running the test suite should trigger both).

The first (resubmit) fixes a trivial issue related to calculating the
destination IP for call instructions with call depth tracking.

The second is related to using the correct IP for relocations, related
to the recently introduced %rip-relative addressing for PER_CPU_VAR.

Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Joan Bruguera Micó <joanbrugueram@gmail.com>

Joan Bruguera Micó (2):
  x86/bpf: Fix IP after emitting call depth accounting
  x86/bpf: Fix IP for relocating call depth accounting

 arch/x86/include/asm/alternative.h |  4 ++--
 arch/x86/kernel/callthunks.c       |  4 ++--
 arch/x86/net/bpf_jit_comp.c        | 22 ++++++++++------------
 3 files changed, 14 insertions(+), 16 deletions(-)