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] [thread-next>] [day] [month] [year] [list]
Message-ID: <87bktr24pp.fsf@meer.lwn.net>
Date:   Thu, 14 Jul 2022 07:39:46 -0600
From:   Jonathan Corbet <corbet@....net>
To:     Jiangshan Yi <13667453960@....com>
Cc:     linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
        Jiangshan Yi <yijiangshan@...inos.cn>,
        Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [PATCH] lib/lzo/lzo1x_compress.c: replace ternary operator with
 min() and min_t()

Jiangshan Yi <13667453960@....com> writes:

> From: Jiangshan Yi <yijiangshan@...inos.cn>
>
> Fix the following coccicheck warning:
>
> lib/lzo/lzo1x_compress.c:54: WARNING opportunity for min().
> lib/lzo/lzo1x_compress.c:329: WARNING opportunity for min().
>
> min() and min_t() macro is defined in include/linux/minmax.h. It avoids
> multiple evaluations of the arguments when non-constant and performs
> strict type-checking.
>
> Signed-off-by: Jiangshan Yi <yijiangshan@...inos.cn>
> ---
>  lib/lzo/lzo1x_compress.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/lib/lzo/lzo1x_compress.c b/lib/lzo/lzo1x_compress.c
> index 76758e9296ba..9d31e7126606 100644
> --- a/lib/lzo/lzo1x_compress.c
> +++ b/lib/lzo/lzo1x_compress.c
> @@ -50,9 +50,7 @@ lzo1x_1_do_compress(const unsigned char *in, size_t in_len,
>  
>  		if (dv == 0 && bitstream_version) {
>  			const unsigned char *ir = ip + 4;
> -			const unsigned char *limit = ip_end
> -				< (ip + MAX_ZERO_RUN_LENGTH + 1)
> -				? ip_end : ip + MAX_ZERO_RUN_LENGTH + 1;
> +			const unsigned char *limit = min(ip_end, ip + MAX_ZERO_RUN_LENGTH + 1);
>  #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) && \
>  	defined(LZO_FAST_64BIT_MEMORY_ACCESS)
>  			u64 dv64;
> @@ -326,7 +324,7 @@ static int lzogeneric1x_1_compress(const unsigned char *in, size_t in_len,
>  	data_start = op;
>  
>  	while (l > 20) {
> -		size_t ll = l <= (m4_max_offset + 1) ? l : (m4_max_offset + 1);
> +		size_t ll = min_t(size_t, l, m4_max_offset + 1);
>  		uintptr_t ll_end = (uintptr_t) ip + ll;
>  		if ((ll_end + ((t + ll) >> 5)) <= ll_end)
>  			break;

So these look like good changes to me, but I am not the maintainer of
this code.  Maybe Andrew (copied) would have a spot for this patch?

Thanks,

jon

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ