1
0
mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2026-01-12 01:20:14 +00:00
Andrii Nakryiko 3feb263bb5 bpf: handle ldimm64 properly in check_cfg()
ldimm64 instructions are 16-byte long, and so have to be handled
appropriately in check_cfg(), just like the rest of BPF verifier does.

This has implications in three places:
  - when determining next instruction for non-jump instructions;
  - when determining next instruction for callback address ldimm64
    instructions (in visit_func_call_insn());
  - when checking for unreachable instructions, where second half of
    ldimm64 is expected to be unreachable;

We take this also as an opportunity to report jump into the middle of
ldimm64. And adjust few test_verifier tests accordingly.

Acked-by: Eduard Zingerman <eddyz87@gmail.com>
Reported-by: Hao Sun <sunhao.th@gmail.com>
Fixes: 475fb78fbf48 ("bpf: verifier (add branch/goto checks)")
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/r/20231110002638.4168352-2-andrii@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2023-11-09 20:11:20 -08:00
..
2023-11-01 13:15:54 -10:00
2023-11-01 11:25:08 -10:00
2023-10-30 18:01:41 -10:00
2023-11-03 15:44:25 -10:00
2023-11-08 09:47:52 -08:00
2023-10-31 05:10:11 -10:00
2023-11-01 15:28:33 -10:00
2023-10-30 20:13:17 -10:00
2023-03-24 11:01:29 +01:00
2023-10-19 11:02:48 +02:00
2023-10-04 10:41:56 -07:00
2023-08-30 09:16:56 -07:00
2023-10-09 16:59:47 +10:00
2023-06-28 15:51:08 -07:00
2023-09-19 13:21:33 -07:00
2023-10-18 14:34:15 -07:00
2023-10-30 17:56:53 -10:00
2023-10-04 10:41:57 -07:00
2023-11-01 15:28:33 -10:00
2023-11-01 15:28:33 -10:00
2023-08-15 15:26:17 -07:00
2023-10-11 08:46:01 -07:00