On Mon, Jul 30, 2018 at 7:09 AM, Amir Goldstein <amir73il@xxxxxxxxx> wrote: > On Mon, Jul 30, 2018 at 1:04 AM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: >> From: Miklos Szeredi <mszeredi@xxxxxxxxxx> >> >> iput() ends up calling ->evict() on new inode, which is not yet initialized >> by owning fs. So use destroy_inode() instead. >> >> Add to sb->s_inodes list only if inode is not in I_CREATING state (meaning >> that it wasn't allocated with new_inode(), which already does the >> insertion). >> >> Reported-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> >> Signed-off-by: Miklos Szeredi <mszeredi@xxxxxxxxxx> >> Fixes: 80ea09a002bf ("vfs: factor out inode_insert5()") > > Backport hint: this patch depends on the patch ("new primitive: > discard_new_inode()") currently commit 22dc9a168272 in Al's for-next. > > Still trying to figure out the best format to channel this information to > stable maintainers... Why are we talking about stable? This regression was introduced in 4.18-rc1, spotted by Al *and* reported by testers. It needs to be fixed in one way or other in 4.18. I've nothing against applying "new primitive: discard_new_inode() now + this patch, but if it is deemed too risky at this point, we could just revert the buggy commit 80ea09a002bf ("vfs: factor out inode_insert5()") and its dependencies. Thanks, Miklos