Re: [syzbot] [iomap?] [erofs?] WARNING in iomap_iter (5)
From: Edward Adam Davis
Date: Fri Jun 13 2025 - 23:12:24 EST
#syz test
diff --git a/fs/iomap/iter.c b/fs/iomap/iter.c
index 6ffc6a7b9ba5..e53591538643 100644
--- a/fs/iomap/iter.c
+++ b/fs/iomap/iter.c
@@ -30,7 +30,8 @@ int iomap_iter_advance(struct iomap_iter *iter, u64 *count)
static inline void iomap_iter_done(struct iomap_iter *iter)
{
- WARN_ON_ONCE(iter->iomap.offset > iter->pos);
+ WARN_ON_ONCE(iter->iomap.type != IOMAP_HOLE &&
+ iter->iomap.offset > iter->pos);
WARN_ON_ONCE(iter->iomap.length == 0);
WARN_ON_ONCE(iter->iomap.offset + iter->iomap.length <= iter->pos);
WARN_ON_ONCE(iter->iomap.flags & IOMAP_F_STALE);