ceph: fix double unlock in handle_cap_export()
authorWu Bo <wubo40@huawei.com>
Thu, 30 Apr 2020 06:12:49 +0000 (14:12 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 27 May 2020 14:43:01 +0000 (16:43 +0200)
commit2a41dc82b599d5e7db674c8acb404d7bf8abaf2f
tree6070ac5fac99588bd59f285e19a602119c64734f
parent453a376476ef8c25ab2bbc24370c39cfac8da05a
ceph: fix double unlock in handle_cap_export()

[ Upstream commit 4d8e28ff3106b093d98bfd2eceb9b430c70a8758 ]

If the ceph_mdsc_open_export_target_session() return fails, it will
do a "goto retry", but the session mutex has already been unlocked.
Re-lock the mutex in that case to ensure that we don't unlock it
twice.

Signed-off-by: Wu Bo <wubo40@huawei.com>
Reviewed-by: "Yan, Zheng" <zyan@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/ceph/caps.c