From 00feea1dfcea2cc7c22e58b6325f72637c6ea217 Mon Sep 17 00:00:00 2001 From: Nanzhe Zhao Date: Mon, 5 Jan 2026 23:30:57 +0800 Subject: [PATCH] f2fs: Zero f2fs_folio_state on allocation f2fs_folio_state is attached to folio->private and is expected to start with read_pages_pending == 0. However, the structure was allocated from ffs_entry_slab without being fully initialized, which can leave read_pages_pending with stale values. Allocate the object with __GFP_ZERO so all fields are reliably zeroed at creation time. Signed-off-by: Nanzhe Zhao Reviewed-by: Barry Song Reviewed-by: Chao Yu Signed-off-by: Jaegeuk Kim --- fs/f2fs/data.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index 7dee58fbfc0b..b5b39a788ee5 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c @@ -2399,7 +2399,8 @@ static struct f2fs_folio_state *ffs_find_or_alloc(struct folio *folio) if (ffs) return ffs; - ffs = f2fs_kmem_cache_alloc(ffs_entry_slab, GFP_NOIO, true, NULL); + ffs = f2fs_kmem_cache_alloc(ffs_entry_slab, + GFP_NOIO | __GFP_ZERO, true, NULL); spin_lock_init(&ffs->state_lock); folio_attach_private(folio, ffs); -- 2.47.3