angler-fishThe Vulnerability History Project

iIwEABYIADQWIQRgLjeFAZEXQzy86/s+p5+stXUA3QUCXhexgRYccGF1bGJ1cnRv

      bkBrZXJuZWwub3JnAAoJED6nn6y1dQDd6tUA/RXpOKol3culdCBr0nsdKoqnYDLX
 F56C8SCiT0cwv0KqAP0cyLCMsi6d0JeWKJn7mxwBTWwWE3aznCAD8B4aZ5oLAA==
 =I89+
 -----END PGP SIGNATURE-----

MIPS: BPF: Restore MIPS32 cBPF JIT

Commit 716850ab104d ("MIPS: eBPF: Initial eBPF support for MIPS32
architecture.") enabled our eBPF JIT for MIPS32 kernels, whereas it has
previously only been availailable for MIPS64. It was my understanding at
the time that the BPF test suite was passing & JITing a comparable
number of tests to our cBPF JIT [1], but it turns out that was not the
case.

The eBPF JIT has a number of problems on MIPS32:

- Most notably various code paths still result in emission of MIPS64
  instructions which will cause reserved instruction exceptions & kernel
  panics when run on MIPS32 CPUs.

- The eBPF JIT doesn't account for differences between the O32 ABI used
  by MIPS32 kernels versus the N64 ABI used by MIPS64 kernels. Notably
  ar
    
commit 36366e367ee93ced84fddb8fae6675e12985f5a4
+1
+1
+1270
+285
expand_less