]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
f2fs: add sanity check on ei.len in __update_extent_tree_range()
authorChao Yu <chao@kernel.org>
Tue, 16 Sep 2025 08:52:43 +0000 (16:52 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Sun, 28 Sep 2025 20:04:29 +0000 (20:04 +0000)
Add a sanity check in __update_extent_tree_range() to detect any
zero-sized extent update.

Signed-off-by: wangzijie <wangzijie1@honor.com>
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/extent_cache.c

index ba0a07bfd346380458101b0f92b3e00245468fdc..33e09c453c703390f79c4294f4a419f299292c6e 100644 (file)
@@ -670,6 +670,15 @@ static void __update_extent_tree_range(struct inode *inode,
        if (!et)
                return;
 
+       if (unlikely(len == 0)) {
+               f2fs_err_ratelimited(sbi, "%s: extent len is zero, type: %d, "
+                       "extent [%u, %u, %u], age [%llu, %llu]",
+                       __func__, type, tei->fofs, tei->blk, tei->len,
+                       tei->age, tei->last_blocks);
+               f2fs_bug_on(sbi, 1);
+               return;
+       }
+
        if (type == EX_READ)
                trace_f2fs_update_read_extent_tree_range(inode, fofs, len,
                                                tei->blk, 0);