From: Alex Elder Date: Tue, 24 Jan 2012 16:08:36 +0000 (-0600) Subject: rbd: fix a memory leak in rbd_get_client() X-Git-Tag: Ubuntu-5.4-5.4.0-11.14~19740^2~1 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=97bb59a03dd6767fcc00be09b0c6d9e5294eeea6;p=mirror_ubuntu-focal-kernel.git rbd: fix a memory leak in rbd_get_client() If an existing rbd client is found to be suitable for use in rbd_get_client(), the rbd_options structure is not being freed as it should. Fix that. Signed-off-by: Alex Elder Signed-off-by: Sage Weil --- diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c index 148ab944378d..7d8f8ddb3359 100644 --- a/drivers/block/rbd.c +++ b/drivers/block/rbd.c @@ -380,6 +380,7 @@ static int rbd_get_client(struct rbd_device *rbd_dev, const char *mon_addr, rbdc = __rbd_client_find(opt); if (rbdc) { ceph_destroy_options(opt); + kfree(rbd_opts); /* using an existing client */ kref_get(&rbdc->kref);