fs->win has the size of the biggest supported sector, but regardless,
only the first 512 bytes were actually zeroed.

Extend the zeroing to cover the whole buffer.

Assisted-by: Codex:gpt-5.5
Signed-off-by: Ahmad Fatoum <[email protected]>
---
 fs/fat/ff.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/fat/ff.c b/fs/fat/ff.c
index c8d57ce50054..89b4f9fa5de7 100644
--- a/fs/fat/ff.c
+++ b/fs/fat/ff.c
@@ -292,7 +292,7 @@ int sync (  /* 0: successful, -EIO: failed */
                if (fs->fs_type == FS_FAT32 && fs->fsi_flag) {
                        fs->winsect = 0;
                        /* Create FSInfo structure */
-                       memset(fs->win, 0, 512);
+                       memset(fs->win, 0, SS(fs));
                        ST_WORD(fs->win+BS_55AA, 0xAA55);
                        ST_DWORD(fs->win+FSI_LeadSig, 0x41615252);
                        ST_DWORD(fs->win+FSI_StrucSig, 0x61417272);
-- 
2.47.3


Reply via email to