ceph: fix inode refcount leak when ceph_fill_inode on non-I_NEW inode fails
authorJeff Layton <jlayton@kernel.org>
Thu, 12 Nov 2020 14:37:59 +0000 (09:37 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 6 Jan 2021 13:56:55 +0000 (14:56 +0100)
[ Upstream commit 68cbb8056a4c24c6a38ad2b79e0a9764b235e8fa ]

Signed-off-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/ceph/inode.c

index 526faf4..2462a9a 100644 (file)
@@ -1335,6 +1335,8 @@ retry_lookup:
                                in, ceph_vinop(in));
                        if (in->i_state & I_NEW)
                                discard_new_inode(in);
+                       else
+                               iput(in);
                        goto done;
                }
                req->r_target_inode = in;