diff options
| author | Chao Yu <chao@kernel.org> | 2025-09-16 16:52:43 +0800 |
|---|---|---|
| committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2025-09-28 20:04:29 +0000 |
| commit | 45b70947a425fa121a8b9bcbb77472d9e35def6a (patch) | |
| tree | bd808fcf8a11561f98a273227a0beb9e77b025b8 | |
| parent | 23361bd54966b437e1ed3eb1a704572f4b279e58 (diff) | |
f2fs: add sanity check on ei.len in __update_extent_tree_range()
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>
| -rw-r--r-- | fs/f2fs/extent_cache.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/f2fs/extent_cache.c b/fs/f2fs/extent_cache.c index ba0a07bfd346..33e09c453c70 100644 --- a/fs/f2fs/extent_cache.c +++ b/fs/f2fs/extent_cache.c @@ -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); |
