For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com.
***
Subject:
Author: abinashsinghlalotra@gmail.com
#syz test
--- a/fs/overlayfs/dir.c
+++ b/fs/overlayfs/dir.c
@@ -33,6 +33,12 @@ static int ovl_cleanup_locked(struct dentry *workdir,
struct dentry *dentry)
struct inode *dir = d_inode(workdir);
struct inode *inode = d_inode(dentry);
+ /* Avoid unlinking an already unlinked inode */
+ if (inode && inode->i_nlink == 0) {
+ d_drop(dentry);
+ return 0;
+ }
+
if (ovl_is_whiteout(dentry))
return ovl_remove_and_whiteout(workdir, dentry, true);