diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2015-07-12 10:34:29 -0400 |
---|---|---|
committer | Jiri Slaby <jslaby@suse.cz> | 2015-08-04 16:52:34 +0200 |
commit | 85e77d46dc5ce2aa0bedd940cc755b8a237c4deb (patch) | |
tree | a5054881ec5cd2e46804c975abfea848a838ae5e | |
parent | 45a2159c5708e7816fdc531aeb275c77579ab6c2 (diff) | |
download | lwn-85e77d46dc5ce2aa0bedd940cc755b8a237c4deb.tar.gz lwn-85e77d46dc5ce2aa0bedd940cc755b8a237c4deb.zip |
9p: don't leave a half-initialized inode sitting around
commit 0a73d0a204a4a04a1e110539c5a524ae51f91d6d upstream.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
-rw-r--r-- | fs/9p/vfs_inode.c | 3 | ||||
-rw-r--r-- | fs/9p/vfs_inode_dotl.c | 3 |
2 files changed, 2 insertions, 4 deletions
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c index 94de6d1482e2..30608bffab7b 100644 --- a/fs/9p/vfs_inode.c +++ b/fs/9p/vfs_inode.c @@ -537,8 +537,7 @@ static struct inode *v9fs_qid_iget(struct super_block *sb, unlock_new_inode(inode); return inode; error: - unlock_new_inode(inode); - iput(inode); + iget_failed(inode); return ERR_PTR(retval); } diff --git a/fs/9p/vfs_inode_dotl.c b/fs/9p/vfs_inode_dotl.c index a7c481402c46..c54efcddc7f2 100644 --- a/fs/9p/vfs_inode_dotl.c +++ b/fs/9p/vfs_inode_dotl.c @@ -151,8 +151,7 @@ static struct inode *v9fs_qid_iget_dotl(struct super_block *sb, unlock_new_inode(inode); return inode; error: - unlock_new_inode(inode); - iput(inode); + iget_failed(inode); return ERR_PTR(retval); } |