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
..
…
…
…
…
2023-10-24 13:08:14 -07:00
…
…
…
…
…
2024-01-02 17:54:05 +01:00
…
…
2023-09-18 09:28:22 +01:00
…
…
2023-09-11 08:13:18 +00:00
…
…
…
…
…
…
…
…
…
2021-05-06 19:24:11 -07:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2024-02-01 13:06:40 +01:00
…
…
…
…
…
2024-03-11 15:37:23 -07:00
…
…
…
…
…
…
…
…
2023-02-03 08:20:55 -07:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2024-02-09 23:31:16 -05:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2023-02-06 19:06:58 +01:00
…
…
…
…
…
…
…
…
…
…
…
…
2023-12-12 14:24:14 +01:00
…
…
2024-01-08 09:36:55 +09:00
2020-11-16 16:31:41 +01: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
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2019-12-11 09:12:38 +01:00
…
…
2023-10-11 10:11:54 -07:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2022-07-27 14:04:52 +02:00
…
…
…
…
…
2022-08-02 12:34:04 -04:00
2021-07-01 11:06:05 -07:00
…
…
…
…
…
…
…
…
…
2024-03-01 08:44:54 +00:00
…
…
2024-01-04 10:47:56 -05:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2021-09-17 13:52:17 +01:00
…
…
…
…
2021-02-03 19:05:50 +01:00
2017-11-09 10:23:28 +01: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
…
…
…
…
…
…
…
…
…
…
2023-12-20 19:26:32 -05:00
2024-01-24 16:21:01 -08:00
…
…
2024-02-15 12:17:28 -05:00
2023-12-08 12:02:38 +01:00
…
…
…
…
…
…
…
…
…
…
…
2024-01-21 18:09:30 +00:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2021-08-19 09:02:55 +09:00
…
…
2024-01-19 11:59:11 -08:00
2023-10-18 14:43:21 -07:00
…
…
…
…
…
…
…
2023-12-28 05:02:42 -08:00
…
2022-09-29 15:20:29 +02:00
…
…
…
…
…
…
…
…
…
…
2023-12-20 19:26:31 -05:00
…
…
…
…
…
…
…
…
2023-12-20 19:26:30 -05:00
…
…
…
…
…
2021-10-12 11:41:39 -03:00
…
…
2023-12-29 11:58:24 -08:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2024-02-09 12:07:48 +00:00
…
…
…
…
…
…
…
…
2022-10-24 12:12:32 -07:00
…
…