2022-07-29 06:27:02

by Zeng Jingxiang

[permalink] [raw]
Subject: [PATCH] bpf/verifier: fix control flow issues in __reg32_bound_s64()

From: Zeng Jingxiang <[email protected]>

expression "a <= S32_MAX" is always true
1580 static bool __reg32_bound_s64(s32 a)
1581 {
1582 return a >= 0;
1583 }

Fixes: e572ff80f05c ("bpf: Make 32->64 bounds propagation slightly more robust")
Signed-off-by: Zeng Jingxiang <[email protected]>
---
kernel/bpf/verifier.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
index 0efbac0fd126..bd154bcf1599 100644
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -1579,7 +1579,7 @@ static void reg_bounds_sync(struct bpf_reg_state *reg)

static bool __reg32_bound_s64(s32 a)
{
- return a >= 0 && a <= S32_MAX;
+ return a >= 0;
}

static void __reg_assign_32_into_64(struct bpf_reg_state *reg)
--
2.27.0