[PATCH] erofs-utils: limit pclustersize in z_erofs_fixup_deduped_fragment()

Gao Xiang hsiangkao at linux.alibaba.com
Fri Jun 2 16:08:33 AEST 2023


Hi Yue,

On 2023/6/2 13:20, Noboru Asai wrote:
> The variable 'ctx->pclustersize' could be larger than max pclustersize.
> 
> Signed-off-by: Noboru Asai <asai at sijam.com>

Please take a look at this patch.
+Cc Shijie Sun.

Thanks,
Gao Xiang

> ---
>   lib/compress.c | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/compress.c b/lib/compress.c
> index 2e1dfb3..e943056 100644
> --- a/lib/compress.c
> +++ b/lib/compress.c
> @@ -359,8 +359,9 @@ static bool z_erofs_fixup_deduped_fragment(struct z_erofs_vle_compress_ctx *ctx,
>   
>   	/* try to fix again if it gets larger (should be rare) */
>   	if (inode->fragment_size < newsize) {
> -		ctx->pclustersize = roundup(newsize - inode->fragment_size,
> -					    erofs_blksiz());
> +		ctx->pclustersize = min(z_erofs_get_max_pclusterblks(inode) * erofs_blksiz(),
> +					roundup(newsize - inode->fragment_size,
> +						erofs_blksiz()));
>   		return false;
>   	}
>   


More information about the Linux-erofs mailing list