Forwarded: Re: [syzbot] [f2fs?] kernel BUG in clear_inode (5)

syzbot posted 1 patch 1 month, 3 weeks ago
Forwarded: Re: [syzbot] [f2fs?] kernel BUG in clear_inode (5)
Posted by syzbot 1 month, 3 weeks ago
For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com.

***

Subject: Re: [syzbot] [f2fs?] kernel BUG in clear_inode (5)
Author: kth5965@gmail.com

#syz test: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master

diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c
--- a/fs/f2fs/inode.c
+++ b/fs/f2fs/inode.c
@@ -1007,6 +1007,13 @@ void f2fs_evict_inode(struct inode *inode)
 out_clear:
 	fscrypt_put_encryption_info(inode);
+	/*
+	 * Pages in inode's data mapping may have been re-added during
+	 * eviction, e.g. by f2fs_convert_inline_inode() called from
+	 * f2fs_truncate(). Truncate them again before clear_inode()
+	 * which expects nrpages == 0.
+	 */
+	truncate_inode_pages_final(&inode->i_data);
 	clear_inode(inode);
 }