Re: [PATCH 03/16] vfs: don't evict uninitialized inode

From: Amir Goldstein
Date: Mon Jul 30 2018 - 01:09:28 EST


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...

Thanks,
Amir.