From: Namjae Jeon <namjae.j...@samsung.com>

commit 43946b70494beefe40ec1b2ba4744c0f294d7736 upstream.

An overflow issue can occur while calculating sector in
exfat_cluster_to_sector(). It needs to cast clus's type to sector_t
before left shifting.

Fixes: 1acf1a564b60 ("exfat: add in-memory and on-disk structures and headers")
Cc: sta...@vger.kernel.org # v5.7
Reviewed-by: Sungjong Seo <sj1557....@samsung.com>
Signed-off-by: Namjae Jeon <namjae.j...@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>

---
 fs/exfat/exfat_fs.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/fs/exfat/exfat_fs.h
+++ b/fs/exfat/exfat_fs.h
@@ -375,7 +375,7 @@ static inline bool exfat_is_last_sector_
 static inline sector_t exfat_cluster_to_sector(struct exfat_sb_info *sbi,
                unsigned int clus)
 {
-       return ((clus - EXFAT_RESERVED_CLUSTERS) << sbi->sect_per_clus_bits) +
+       return ((sector_t)(clus - EXFAT_RESERVED_CLUSTERS) << 
sbi->sect_per_clus_bits) +
                sbi->data_start_sector;
 }
 


Reply via email to