]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Revert "selftests/bpf: Update reg_bound range refinement logic"
authorEduard Zingerman <eddyz87@gmail.com>
Sat, 7 Mar 2026 00:54:26 +0000 (16:54 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Sat, 7 Mar 2026 02:16:17 +0000 (18:16 -0800)
This reverts commit da653de268d32a80e135c9eb960a8147c186f1bc.
Removed logic is now covered by range_refine_in_halves()
which handles both 32-bit and 64-bit refinements.

Suggested-by: Paul Chaignon <paul.chaignon@gmail.com>
Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>
Link: https://lore.kernel.org/r/20260306-bpf-32-bit-range-overflow-v3-3-f7f67e060a6b@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/prog_tests/reg_bounds.c

index 04938d0d431b38e086b50fe28b99e4ad2682742e..cb8dd2f63296b826491c8a010f4ece4aa20c0560 100644 (file)
@@ -519,20 +519,6 @@ static struct range range_refine(enum num_t x_t, struct range x, enum num_t y_t,
                return range_intersection(x_t, x, x_swap);
        }
 
-       if (!t_is_32(x_t) && !t_is_32(y_t) && x_t != y_t) {
-               if (x_t == S64 && x.a > x.b) {
-                       if (x.b < y.a && x.a <= y.b)
-                               return range(x_t, x.a, y.b);
-                       if (x.a > y.b && x.b >= y.a)
-                               return range(x_t, y.a, x.b);
-               } else if (x_t == U64 && y.a > y.b) {
-                       if (y.b < x.a && y.a <= x.b)
-                               return range(x_t, y.a, x.b);
-                       if (y.a > x.b && y.b >= x.a)
-                               return range(x_t, x.a, y.b);
-               }
-       }
-
        /* otherwise, plain range cast and intersection works */
        return range_intersection(x_t, x, y_cast);
 }