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

From: Zeng Jingxiang
Date: Fri Jul 29 2022 - 02:13:24 EST


From: Zeng Jingxiang <linuszeng@xxxxxxxxxxx>

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 <linuszeng@xxxxxxxxxxx>
---
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