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]
Message-ID: <aMMFDOdQzmnPdfmU@visitorckw-System-Product-Name>
Date: Fri, 12 Sep 2025 01:21:16 +0800
From: Kuan-Wei Chiu <visitorckw@...il.com>
To: Thorsten Blum <thorsten.blum@...ux.dev>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
	Nick Terrell <terrelln@...com>, David Sterba <dsterba@...e.com>,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] lib/decompress: Use designated initializers for struct
 compress_format

On Thu, Sep 11, 2025 at 01:23:51AM +0200, Thorsten Blum wrote:
> Switch 'compressed_formats[]' to the more modern and flexible designated
> initializers. This improves readability and allows struct fields to be
> reordered. Also use a more concise sentinel marker.
> 
> Remove the curly braces around the for loop while we're at it.
> 
> No functional changes intended.
> 
> Signed-off-by: Thorsten Blum <thorsten.blum@...ux.dev>

Reviewed-by: Kuan-Wei Chiu <visitorckw@...il.com>

Regards,
Kuan-Wei

> ---
>  lib/decompress.c | 21 ++++++++++-----------
>  1 file changed, 10 insertions(+), 11 deletions(-)
> 
> diff --git a/lib/decompress.c b/lib/decompress.c
> index ab3fc90ffc64..7785471586c6 100644
> --- a/lib/decompress.c
> +++ b/lib/decompress.c
> @@ -49,15 +49,15 @@ struct compress_format {
>  };
>  
>  static const struct compress_format compressed_formats[] __initconst = {
> -	{ {0x1f, 0x8b}, "gzip", gunzip },
> -	{ {0x1f, 0x9e}, "gzip", gunzip },
> -	{ {0x42, 0x5a}, "bzip2", bunzip2 },
> -	{ {0x5d, 0x00}, "lzma", unlzma },
> -	{ {0xfd, 0x37}, "xz", unxz },
> -	{ {0x89, 0x4c}, "lzo", unlzo },
> -	{ {0x02, 0x21}, "lz4", unlz4 },
> -	{ {0x28, 0xb5}, "zstd", unzstd },
> -	{ {0, 0}, NULL, NULL }
> +	{ .magic = {0x1f, 0x8b}, .name = "gzip", .decompressor = gunzip },
> +	{ .magic = {0x1f, 0x9e}, .name = "gzip", .decompressor = gunzip },
> +	{ .magic = {0x42, 0x5a}, .name = "bzip2", .decompressor = bunzip2 },
> +	{ .magic = {0x5d, 0x00}, .name = "lzma", .decompressor = unlzma },
> +	{ .magic = {0xfd, 0x37}, .name = "xz", .decompressor = unxz },
> +	{ .magic = {0x89, 0x4c}, .name = "lzo", .decompressor = unlzo },
> +	{ .magic = {0x02, 0x21}, .name = "lz4", .decompressor = unlz4 },
> +	{ .magic = {0x28, 0xb5}, .name = "zstd", .decompressor = unzstd },
> +	{ /* sentinel */ }
>  };
>  
>  decompress_fn __init decompress_method(const unsigned char *inbuf, long len,
> @@ -73,11 +73,10 @@ decompress_fn __init decompress_method(const unsigned char *inbuf, long len,
>  
>  	pr_debug("Compressed data magic: %#.2x %#.2x\n", inbuf[0], inbuf[1]);
>  
> -	for (cf = compressed_formats; cf->name; cf++) {
> +	for (cf = compressed_formats; cf->name; cf++)
>  		if (!memcmp(inbuf, cf->magic, 2))
>  			break;
>  
> -	}
>  	if (name)
>  		*name = cf->name;
>  	return cf->decompressor;
> -- 
> 2.51.0
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ