]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
selftests: drv-net: fix RPS mask handling for high CPU numbers
authorGal Pressman <gal@nvidia.com>
Mon, 12 Jan 2026 17:37:15 +0000 (19:37 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 23 Jan 2026 10:21:18 +0000 (11:21 +0100)
[ Upstream commit cf055f8c000445aa688c53a706ef4f580818eedb ]

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 <noren@nvidia.com>
Signed-off-by: Gal Pressman <gal@nvidia.com>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Link: https://patch.msgid.link/20260112173715.384843-3-gal@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/testing/selftests/net/toeplitz.c

index 9ba03164d73a692f6ea39c560d43e678659ce21f..5099157f01b9ab9945fc7c409978e0788e7aed25 100644 (file)
@@ -473,8 +473,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++)