lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Fri, 16 Jun 2023 14:34:48 +0800
From:   Zhangjin Wu <falcon@...ylab.org>
To:     wuyonggang001@...suo.com
Cc:     linux-kernel@...r.kernel.org, linux-kselftest@...r.kernel.org,
        shuah@...nel.org, w@....eu
Subject: [PATCH] selftests/nolibc: Remove unneeded variable

Hi, Yonggang

The 'ret' variable is extractly used by the macros to record the
failures, removing it would directly break the compiling.

    $ gcc -o nolibc-test tools/testing/selftests/nolibc/nolibc-test.c
    tools/testing/selftests/nolibc/nolibc-test.c: In function ‘run_syscall’:
    tools/testing/selftests/nolibc/nolibc-test.c:285:57: error: ‘ret’ undeclared (first use in this function)
      285 |  do { if (!cond) pad_spc(llen, 64, "[SKIPPED]\n"); else ret += expect_sysne(expr, llen, val); } while (0)

You can re-check all of the used 'ret' like this:

    $ grep "ret += expect" -ur tools/testing/selftests/nolibc/nolibc-test.c

To avoid sending such patches, simple local tests are required, for this patch,
the 'libc-test' or 'nolibc-test' target may help us to find the above compile
error:

    $ cd tools/testing/selftests/nolibc/
    $ make libc-test
    or
    $ make nolibc-test

Thanks,
Zhangjin

> Fix the following coccicheck warning:
> 
> tools/testing/selftests/nolibc/nolibc-test.c:646:5-8: Unneeded variable: 
> "ret". Return "0"
> 
> Signed-off-by: Yonggang Wu <wuyonggang001@...suo.com>
> ---
>   tools/testing/selftests/nolibc/nolibc-test.c | 15 ++++++---------
>   1 file changed, 6 insertions(+), 9 deletions(-)
> 
> diff --git a/tools/testing/selftests/nolibc/nolibc-test.c 
> b/tools/testing/selftests/nolibc/nolibc-test.c
> index 486334981e60..2b723354e085 100644
> --- a/tools/testing/selftests/nolibc/nolibc-test.c
> +++ b/tools/testing/selftests/nolibc/nolibc-test.c
> @@ -546,7 +546,6 @@ int run_syscall(int min, int max)
>       int proc;
>       int test;
>       int tmp;
> -    int ret = 0;
>       void *p1, *p2;
> 
>       /* <proc> indicates whether or not /proc is mounted */
> @@ -632,18 +631,17 @@ int run_syscall(int min, int max)
>           CASE_TEST(syscall_noargs);    EXPECT_SYSEQ(1, 
> syscall(__NR_getpid), getpid()); break;
>           CASE_TEST(syscall_args);      EXPECT_SYSER(1, 
> syscall(__NR_statx, 0, NULL, 0, 0, NULL), -1, EFAULT); break;
>           case __LINE__:
> -            return ret; /* must be last */
> +            return 0; /* must be last */
>           /* note: do not set any defaults so as to permit holes above */
>           }
>       }
> -    return ret;
> +    return 0;
>   }
> 
>   int run_stdlib(int min, int max)
>   {
>       int test;
>       int tmp;
> -    int ret = 0;
>       void *p1, *p2;
> 
>       for (test = min; test >= 0 && test <= max; test++) {
> @@ -726,11 +724,11 @@ int run_stdlib(int min, int max)
>   # warning "__SIZEOF_LONG__ is undefined"
>   #endif /* __SIZEOF_LONG__ */
>           case __LINE__:
> -            return ret; /* must be last */
> +            return 0; /* must be last */
>           /* note: do not set any defaults so as to permit holes above */
>           }
>       }
> -    return ret;
> +    return 0;
>   }
> 
>   #define EXPECT_VFPRINTF(c, expected, fmt, ...)                \
> @@ -790,7 +788,6 @@ static int run_vfprintf(int min, int max)
>   {
>       int test;
>       int tmp;
> -    int ret = 0;
>       void *p1, *p2;
> 
>       for (test = min; test >= 0 && test <= max; test++) {
> @@ -810,11 +807,11 @@ static int run_vfprintf(int min, int max)
>           CASE_TEST(hex);          EXPECT_VFPRINTF(1, "f", "%x", 0xf); 
> break;
>           CASE_TEST(pointer);      EXPECT_VFPRINTF(3, "0x1", "%p", (void 
> *) 0x1); break;
>           case __LINE__:
> -            return ret; /* must be last */
> +            return 0; /* must be last */
>           /* note: do not set any defaults so as to permit holes above */
>           }
>       }
> -    return ret;
> +    return 0;
>   }
> 
>   static int smash_stack(void)
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ