[PATCH] erofs-utils: limit pclustersize in z_erofs_fixup_deduped_fragment()
Yue Hu
zbestahu at gmail.com
Fri Jun 2 16:39:39 AEST 2023
On Fri, 2 Jun 2023 14:20:39 +0900
Noboru Asai <asai at sijam.com> wrote:
> The variable 'ctx->pclustersize' could be larger than max pclustersize.
>
> Signed-off-by: Noboru Asai <asai at sijam.com>
> ---
> 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()));
Looks good to me.
Reviewed-by: Yue Hu <huyue2 at coolpad.com>
> return false;
> }
>
More information about the Linux-erofs
mailing list