aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ceph/file.c
diff options
context:
space:
mode:
authorJeff Layton <jlayton@kernel.org>2022-01-25 15:39:16 -0500
committerIlya Dryomov <idryomov@gmail.com>2022-01-26 20:17:50 +0100
commit932a9b5870d38b87ba0a9923c804b1af7d3605b9 (patch)
tree6937e001f98bcc5e467a977a5aa34976e06dae1f /fs/ceph/file.c
parentceph: put the requests/sessions when it fails to alloc memory (diff)
downloadlinux-dev-932a9b5870d38b87ba0a9923c804b1af7d3605b9.tar.xz
linux-dev-932a9b5870d38b87ba0a9923c804b1af7d3605b9.zip
ceph: properly put ceph_string reference after async create attempt
The reference acquired by try_prep_async_create is currently leaked. Ensure we put it. Cc: stable@vger.kernel.org Fixes: 9a8d03ca2e2c ("ceph: attempt to do async create when possible") Signed-off-by: Jeff Layton <jlayton@kernel.org> Reviewed-by: Ilya Dryomov <idryomov@gmail.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'fs/ceph/file.c')
-rw-r--r--fs/ceph/file.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/ceph/file.c b/fs/ceph/file.c
index 5b9104b8e453..6afae97be9da 100644
--- a/fs/ceph/file.c
+++ b/fs/ceph/file.c
@@ -750,8 +750,10 @@ retry:
restore_deleg_ino(dir, req->r_deleg_ino);
ceph_mdsc_put_request(req);
try_async = false;
+ ceph_put_string(rcu_dereference_raw(lo.pool_ns));
goto retry;
}
+ ceph_put_string(rcu_dereference_raw(lo.pool_ns));
goto out_req;
}
}