mbox series

[bpf,v3,0/2] bpf: Fix incorrect immediate spill

Message ID 20231101-fix-check-stack-write-v3-0-f05c2b1473d5@gmail.com (mailing list archive)
Headers show
Series bpf: Fix incorrect immediate spill | expand

Message

Hao Sun Nov. 1, 2023, 12:33 p.m. UTC
Immediate is incorrectly cast to u32 before being spilled, losing sign
information. The range information is incorrect after load again. Fix
immediate spill by remove the cast. The second patch add a test case
for this.

Signed-off-by: Hao Sun <sunhao.th@gmail.com>
---
Changes in v3:
- Change the expected log to fix the test case
- Link to v2: https://lore.kernel.org/r/20231101-fix-check-stack-write-v2-0-cb7c17b869b0@gmail.com

Changes in v2:
- Add fix and cc tags.
- Link to v1: https://lore.kernel.org/r/20231026-fix-check-stack-write-v1-0-6b325ef3ce7e@gmail.com

---
Hao Sun (2):
      bpf: Fix check_stack_write_fixed_off() to correctly spill imm
      selftests/bpf: Add test for immediate spilled to stack

 kernel/bpf/verifier.c                             |  2 +-
 tools/testing/selftests/bpf/verifier/bpf_st_mem.c | 32 +++++++++++++++++++++++
 2 files changed, 33 insertions(+), 1 deletion(-)
---
base-commit: f2fbb908112311423b09cd0d2b4978f174b99585
change-id: 20231026-fix-check-stack-write-c40996694dfa

Best regards,

Comments

patchwork-bot+netdevbpf@kernel.org Nov. 2, 2023, 6 a.m. UTC | #1
Hello:

This series was applied to bpf/bpf.git (master)
by Alexei Starovoitov <ast@kernel.org>:

On Wed, 01 Nov 2023 13:33:50 +0100 you wrote:
> Immediate is incorrectly cast to u32 before being spilled, losing sign
> information. The range information is incorrect after load again. Fix
> immediate spill by remove the cast. The second patch add a test case
> for this.
> 
> Signed-off-by: Hao Sun <sunhao.th@gmail.com>
> 
> [...]

Here is the summary with links:
  - [bpf,v3,1/2] bpf: Fix check_stack_write_fixed_off() to correctly spill imm
    https://git.kernel.org/bpf/bpf/c/811c363645b3
  - [bpf,v3,2/2] selftests/bpf: Add test for immediate spilled to stack
    https://git.kernel.org/bpf/bpf/c/85eb035e6cfd

You are awesome, thank you!