RE: [PATCH] exfat: fix overflow for large capacity partition

From: Sungjong Seo
Date: Mon Aug 22 2022 - 23:27:18 EST


> Using int type for sector index, there will be overflow in a large
> capacity partition.
>
> For example, if storage with sector size of 512 bytes and partition
> capacity is larger than 2TB, there will be overflow.
>
> Fixes: 1b6138385499 ("exfat: reduce block requests when zeroing a cluster")
>
> Signed-off-by: Yuezhang Mo <Yuezhang.Mo@xxxxxxxx>
> Reviewed-by: Andy Wu <Andy.Wu@xxxxxxxx>
> Reviewed-by: Aoyama Wataru <wataru.aoyama@xxxxxxxx>

Looks good!
Acked-by: Sungjong Seo <sj1557.seo@xxxxxxxxxxx>

>
> ---
> fs/exfat/fatent.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/fs/exfat/fatent.c b/fs/exfat/fatent.c index
> ee0b7cf51157..41ae4cce1f42 100644
> --- a/fs/exfat/fatent.c
> +++ b/fs/exfat/fatent.c
> @@ -270,8 +270,7 @@ int exfat_zeroed_cluster(struct inode *dir, unsigned
> int clu)
> struct super_block *sb = dir->i_sb;
> struct exfat_sb_info *sbi = EXFAT_SB(sb);
> struct buffer_head *bh;
> - sector_t blknr, last_blknr;
> - int i;
> + sector_t blknr, last_blknr, i;
>
> blknr = exfat_cluster_to_sector(sbi, clu);
> last_blknr = blknr + sbi->sect_per_clus;
> --
> 2.25.1