]> git.baikalelectronics.ru Git - kernel.git/commit
vfs: don't evict uninitialized inode
authorMiklos Szeredi <mszeredi@redhat.com>
Tue, 24 Jul 2018 13:01:55 +0000 (15:01 +0200)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 3 Aug 2018 20:03:32 +0000 (16:03 -0400)
commit61c3c15f4b2a10113d3bfc737746d3b0468bd477
tree48519b6c40bc193c70f8b8e60849da7c57f50226
parente6f786213a023cb98d9b00d8fe4c86f748605733
vfs: don't evict uninitialized inode

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@zeniv.linux.org.uk>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Fixes: ef65d2657380 ("vfs: factor out inode_insert5()")
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/inode.c