From 25618d71b57e380ab692b640419dc89a9c6fe20e Mon Sep 17 00:00:00 2001 From: David Teigland Date: Mon, 11 Sep 2023 12:18:12 -0500 Subject: [PATCH 13/24] lvresize: fix 32 bit overflow in size calculation --- lib/metadata/lv_manip.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c index 9bec8b54d..23e04c3a8 100644 --- a/lib/metadata/lv_manip.c +++ b/lib/metadata/lv_manip.c @@ -6445,7 +6445,7 @@ static int _fs_reduce(struct cmd_context *cmd, struct logical_volume *lv, } /* extent_size units is SECTOR_SIZE (512) */ - newsize_bytes_lv = lp->extents * lv->vg->extent_size * SECTOR_SIZE; + newsize_bytes_lv = (uint64_t) lp->extents * lv->vg->extent_size * SECTOR_SIZE; newsize_bytes_fs = newsize_bytes_lv; /* @@ -6591,7 +6591,7 @@ static int _fs_extend(struct cmd_context *cmd, struct logical_volume *lv, */ /* extent_size units is SECTOR_SIZE (512) */ - newsize_bytes_lv = lp->extents * lv->vg->extent_size * SECTOR_SIZE; + newsize_bytes_lv = (uint64_t) lp->extents * lv->vg->extent_size * SECTOR_SIZE; newsize_bytes_fs = newsize_bytes_lv; if (fsinfo.needs_crypt) { newsize_bytes_fs -= fsinfo.crypt_offset_bytes; -- 2.35.3