Files
erofs-linux/include/linux
Alexei Starovoitov 2fe99eb0cc bpf: Add x86-64 JIT support for PROBE_MEM32 pseudo instructions.
Add support for [LDX | STX | ST], PROBE_MEM32, [B | H | W | DW] instructions.
They are similar to PROBE_MEM instructions with the following differences:
- PROBE_MEM has to check that the address is in the kernel range with
  src_reg + insn->off >= TASK_SIZE_MAX + PAGE_SIZE check
- PROBE_MEM doesn't support store
- PROBE_MEM32 relies on the verifier to clear upper 32-bit in the register
- PROBE_MEM32 adds 64-bit kern_vm_start address (which is stored in %r12 in the prologue)
  Due to bpf_arena constructions such %r12 + %reg + off16 access is guaranteed
  to be within arena virtual range, so no address check at run-time.
- PROBE_MEM32 allows STX and ST. If they fault the store is a nop.
  When LDX faults the destination register is zeroed.

Signed-off-by: Alexei Starovoitov <[email protected]>
Signed-off-by: Andrii Nakryiko <[email protected]>
Acked-by: Kumar Kartikeya Dwivedi <[email protected]>
Link: https://lore.kernel.org/bpf/[email protected]
2024-03-11 15:37:24 -07:00
..
…
…
…
…
…
…
…
…
…
…
…
…
2024-01-02 17:54:05 +01:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2024-02-01 13:06:40 +01:00
…
…
…
…
…
…
…
2024-03-11 15:37:23 -07:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2024-02-09 23:31:16 -05:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2024-01-08 09:36:55 +09:00
…
…
2024-01-19 11:59:11 -08:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2024-01-02 11:25:28 +01:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2024-01-18 21:10:43 +01:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2024-02-28 19:36:39 -08:00
…
…
…
…
…
…
…
2024-02-23 16:45:05 +01:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2024-03-01 08:44:54 +00:00
…
…
2024-01-04 10:47:56 -05:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2024-01-15 12:10:41 -06:00
2024-01-15 12:10:41 -06:00
…
…
…
…
…
…
2024-02-17 18:45:06 +00:00
…
…
…
…
…
…
…
…
…
2024-01-09 15:00:09 +01:00
…
…
…
2023-12-27 11:49:56 -05:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2023-12-27 11:49:56 -05:00
…
…
…
…
…
…
…
…
…
…
…
…
2024-01-24 16:21:01 -08:00
…
…
2024-02-15 12:17:28 -05:00
…
…
…
…
…
…
…
…
…
…
…
…
…
2024-01-21 18:09:30 +00:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2024-01-19 11:59:11 -08:00
…
…
…
…
…
…
…
…
…
2023-12-28 05:02:42 -08:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2023-12-29 11:58:24 -08:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2024-02-09 12:07:48 +00:00
…
…
…
…
…
…
…
…
…
…
…