Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d4a780ce authored by Sage Weil's avatar Sage Weil
Browse files

ceph: fix leak of monc mutex



Fix leak of monc mutex on ENOMEM or bad fsid when receiving new mon map.
Audited all other users.

Signed-off-by: default avatarSage Weil <sage@newdream.net>
parent 767ea5c3
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -320,17 +320,18 @@ static void ceph_monc_handle_map(struct ceph_mon_client *monc,
	if (IS_ERR(monmap)) {
		pr_err("problem decoding monmap, %d\n",
		       (int)PTR_ERR(monmap));
		return;
		goto out;
	}

	if (ceph_check_fsid(monc->client, &monmap->fsid) < 0) {
		kfree(monmap);
		return;
		goto out;
	}

	client->monc.monmap = monmap;
	kfree(old);

out:
	mutex_unlock(&monc->mutex);
	wake_up(&client->mount_wq);
}