* [PATCH 1/2] exfat: fix overflow issue in exfat_cluster_to_sector()
[not found] <CGME20200703064749epcas1p142abf1759a90450434ff7d7fbc7dd116@epcas1p1.samsung.com>
@ 2020-07-03 6:42 ` Namjae Jeon
[not found] ` <CGME20200703064750epcas1p487820ba4670511e02410c3a9ffbf8f89@epcas1p4.samsung.com>
0 siblings, 1 reply; 2+ messages in thread
From: Namjae Jeon @ 2020-07-03 6:42 UTC (permalink / raw)
To: linux-fsdevel; +Cc: sj1557.seo, kohada.t2, Namjae Jeon, stable
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: stable@vger.kernel.org # v5.7
Reviewed-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
---
fs/exfat/exfat_fs.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/exfat/exfat_fs.h b/fs/exfat/exfat_fs.h
index 3aed8e22087a..cb51d6e83199 100644
--- a/fs/exfat/exfat_fs.h
+++ b/fs/exfat/exfat_fs.h
@@ -368,7 +368,7 @@ static inline bool exfat_is_last_sector_in_cluster(struct exfat_sb_info *sbi,
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;
}
--
2.17.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [PATCH 2/2] exfat: fix wrong hint_stat initialization in exfat_find_dir_entry()
[not found] ` <CGME20200703064750epcas1p487820ba4670511e02410c3a9ffbf8f89@epcas1p4.samsung.com>
@ 2020-07-03 6:42 ` Namjae Jeon
0 siblings, 0 replies; 2+ messages in thread
From: Namjae Jeon @ 2020-07-03 6:42 UTC (permalink / raw)
To: linux-fsdevel; +Cc: sj1557.seo, kohada.t2, Namjae Jeon, stable
We found the wrong hint_stat initialization in exfat_find_dir_entry().
It should be initialized when cluster is EXFAT_EOF_CLUSTER.
Fixes: ca06197382bd ("exfat: add directory operations")
Cc: stable@vger.kernel.org # v5.7
Reviewed-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
---
fs/exfat/dir.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/exfat/dir.c b/fs/exfat/dir.c
index f4cea9a7fd02..573659bfbc55 100644
--- a/fs/exfat/dir.c
+++ b/fs/exfat/dir.c
@@ -1116,7 +1116,7 @@ int exfat_find_dir_entry(struct super_block *sb, struct exfat_inode_info *ei,
ret = exfat_get_next_cluster(sb, &clu.dir);
}
- if (ret || clu.dir != EXFAT_EOF_CLUSTER) {
+ if (ret || clu.dir == EXFAT_EOF_CLUSTER) {
/* just initialized hint_stat */
hint_stat->clu = p_dir->dir;
hint_stat->eidx = 0;
--
2.17.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-07-03 6:47 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <CGME20200703064749epcas1p142abf1759a90450434ff7d7fbc7dd116@epcas1p1.samsung.com>
2020-07-03 6:42 ` [PATCH 1/2] exfat: fix overflow issue in exfat_cluster_to_sector() Namjae Jeon
[not found] ` <CGME20200703064750epcas1p487820ba4670511e02410c3a9ffbf8f89@epcas1p4.samsung.com>
2020-07-03 6:42 ` [PATCH 2/2] exfat: fix wrong hint_stat initialization in exfat_find_dir_entry() Namjae Jeon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).