selftests/net: ipsec: fix constant out of range
authorWillem de Bruijn <willemb@google.com>
Fri, 24 Nov 2023 17:15:19 +0000 (12:15 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Dec 2023 07:52:22 +0000 (08:52 +0100)
[ Upstream commit 088559815477c6f623a5db5993491ddd7facbec7 ]

Fix a small compiler warning.

nr_process must be a signed long: it is assigned a signed long by
strtol() and is compared against LONG_MIN and LONG_MAX.

ipsec.c:2280:65:
    error: result of comparison of constant -9223372036854775808
    with expression of type 'unsigned int' is always false
    [-Werror,-Wtautological-constant-out-of-range-compare]

  if ((errno == ERANGE && (nr_process == LONG_MAX || nr_process == LONG_MIN))

Fixes: bc2652b7ae1e ("selftest/net/xfrm: Add test for ipsec tunnel")
Signed-off-by: Willem de Bruijn <willemb@google.com>
Reviewed-by: Dmitry Safonov <0x7f454c46@gmail.com>
Link: https://lore.kernel.org/r/20231124171645.1011043-2-willemdebruijn.kernel@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/testing/selftests/net/ipsec.c

index 9a8229abfa026a73bc20d586b70bdd1ce5cc4079..be4a30a0d02aef94e2f7dda392a7dc029bec9c68 100644 (file)
@@ -2263,7 +2263,7 @@ static int check_results(void)
 
 int main(int argc, char **argv)
 {
-       unsigned int nr_process = 1;
+       long nr_process = 1;
        int route_sock = -1, ret = KSFT_SKIP;
        int test_desc_fd[2];
        uint32_t route_seq;
@@ -2284,7 +2284,7 @@ int main(int argc, char **argv)
                        exit_usage(argv);
                }
 
-               if (nr_process > MAX_PROCESSES || !nr_process) {
+               if (nr_process > MAX_PROCESSES || nr_process < 1) {
                        printk("nr_process should be between [1; %u]",
                                        MAX_PROCESSES);
                        exit_usage(argv);