The RPS bitmask bounds check uses ~(RPS_MAX_CPUS - 1) which equals ~15 =
0xfff0, only allowing CPUs 0-3.

Change the mask to ~((1UL << RPS_MAX_CPUS) - 1) = ~0xffff to allow CPUs
0-15.

Fixes: 5ebfb4cc3048 ("selftests/net: toeplitz test")
Reviewed-by: Nimrod Oren <[email protected]>
Signed-off-by: Gal Pressman <[email protected]>
Reviewed-by: Willem de Bruijn <[email protected]>
---
 tools/testing/selftests/drivers/net/hw/toeplitz.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/drivers/net/hw/toeplitz.c 
b/tools/testing/selftests/drivers/net/hw/toeplitz.c
index d23b3b0c20a3..285bb17df9c2 100644
--- a/tools/testing/selftests/drivers/net/hw/toeplitz.c
+++ b/tools/testing/selftests/drivers/net/hw/toeplitz.c
@@ -485,8 +485,8 @@ static void parse_rps_bitmap(const char *arg)
 
        bitmap = strtoul(arg, NULL, 0);
 
-       if (bitmap & ~(RPS_MAX_CPUS - 1))
-               error(1, 0, "rps bitmap 0x%lx out of bounds 0..%lu",
+       if (bitmap & ~((1UL << RPS_MAX_CPUS) - 1))
+               error(1, 0, "rps bitmap 0x%lx out of bounds, max cpu %lu",
                      bitmap, RPS_MAX_CPUS - 1);
 
        for (i = 0; i < RPS_MAX_CPUS; i++)
-- 
2.40.1


Reply via email to