mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-15 08:44:14 +08:00
exfat: fix overflow for large capacity partition
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: 1b61383854
("exfat: reduce block requests when zeroing a cluster")
Cc: stable@vger.kernel.org # v5.19+
Signed-off-by: Yuezhang Mo <Yuezhang.Mo@sony.com>
Reviewed-by: Andy Wu <Andy.Wu@sony.com>
Reviewed-by: Aoyama Wataru <wataru.aoyama@sony.com>
Acked-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
This commit is contained in:
parent
4c612826be
commit
2e9ceb6728
@ -270,8 +270,7 @@ int exfat_zeroed_cluster(struct inode *dir, unsigned int clu)
|
|||||||
struct super_block *sb = dir->i_sb;
|
struct super_block *sb = dir->i_sb;
|
||||||
struct exfat_sb_info *sbi = EXFAT_SB(sb);
|
struct exfat_sb_info *sbi = EXFAT_SB(sb);
|
||||||
struct buffer_head *bh;
|
struct buffer_head *bh;
|
||||||
sector_t blknr, last_blknr;
|
sector_t blknr, last_blknr, i;
|
||||||
int i;
|
|
||||||
|
|
||||||
blknr = exfat_cluster_to_sector(sbi, clu);
|
blknr = exfat_cluster_to_sector(sbi, clu);
|
||||||
last_blknr = blknr + sbi->sect_per_clus;
|
last_blknr = blknr + sbi->sect_per_clus;
|
||||||
|
Loading…
Reference in New Issue
Block a user