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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2022221.PYKUYFuaPT@saltykitkat>
Date: Fri, 22 Aug 2025 18:20:44 +0800
From: Sun YangKai <sunk67188@...il.com>
To: calvin@...nvd.org
Cc: clm@...com, dsterba@...e.com, josef@...icpanda.com,
 linux-btrfs@...r.kernel.org, linux-kernel@...r.kernel.org, neelx@...e.com,
 quwenruo.btrfs@....com
Subject: Re: [PATCH] btrfs: Accept and ignore compression level for lzo

> The compression level is meaningless for lzo, but before commit
> 3f093ccb95f30 ("btrfs: harden parsing of compression mount options"),
> it was silently ignored if passed.
> 
> After that commit, passing a level with lzo fails to mount:
>     BTRFS error: unrecognized compression value lzo:1
> 
> Restore the old behavior, in case any users were relying on it.
> 
> Fixes: 3f093ccb95f30 ("btrfs: harden parsing of compression mount options")
> Signed-off-by: Calvin Owens <calvin@...nvd.org>
> ---
> 
>  fs/btrfs/super.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
> index a262b494a89f..7ee35038c7fb 100644
> --- a/fs/btrfs/super.c
> +++ b/fs/btrfs/super.c
> @@ -299,7 +299,7 @@ static int btrfs_parse_compress(struct btrfs_fs_context
> *ctx,> 
>  		btrfs_set_opt(ctx->mount_opt, COMPRESS);
>  		btrfs_clear_opt(ctx->mount_opt, NODATACOW);
>  		btrfs_clear_opt(ctx->mount_opt, NODATASUM);
> 
> -	} else if (btrfs_match_compress_type(string, "lzo", false)) {
> +	} else if (btrfs_match_compress_type(string, "lzo", true)) {
> 
>  		ctx->compress_type = BTRFS_COMPRESS_LZO;
>  		ctx->compress_level = 0;
>  		btrfs_set_opt(ctx->mount_opt, COMPRESS);
> 
> --
> 2.47.2

A possible improvement would be to emit a warning in
btrfs_match_compress_type() when @may_have_level is false but a
level is still provided. And the warning message can be something like 
"Providing a compression level for {compression_type} is not supported, the 
level is ignored."

This way:
1. users receive a clearer hint about what happened,
2. existing setups relying on this behavior continue to work,
3. the @may_have_level semantics remain consistent.



Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ