From 912f53dee67a2f487638bf8caee6ba66f95602bf Mon Sep 17 00:00:00 2001 From: Noboru Asai Date: Fri, 2 Jun 2023 14:20:39 +0900 Subject: [PATCH] erofs-utils: limit pclustersize in z_erofs_fixup_deduped_fragment() The variable 'ctx->pclustersize' could be larger than max pclustersize. Signed-off-by: Noboru Asai Reviewed-by: Yue Hu Link: https://lore.kernel.org/r/20230602052039.615632-1-asai@sijam.com Signed-off-by: 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; } -- 2.34.1