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: v3.3-rc3~30^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=97bb59a03dd6767fcc00be09b0c6d9e5294eeea6;p=platform%2Fkernel%2Flinux-exynos.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 148ab94..7d8f8dd 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);