• Russell King's avatar
    ARM: net: bpf: fix register saving · 02088d9b
    Russell King authored
    When an eBPF program tail-calls another eBPF program, it enters it after
    the prologue to avoid having complex stack manipulations.  This can lead
    to kernel oopses, and similar.
    
    Resolve this by always using a fixed stack layout, a CPU register frame
    pointer, and using this when reloading registers before returning.
    
    Fixes: 39c13c20 ("arm: eBPF JIT compiler")
    Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
    02088d9b
bpf_jit_32.c 52.1 KB