From: Srinivas Kandagatla Date: Mon, 11 May 2020 16:27:22 +0000 (+0100) Subject: misc: fastrpc: Fix an incomplete memory release in fastrpc_rpmsg_probe() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=0978de9fc7335c73934ab8fac189fb4cb3f23191;p=linux.git misc: fastrpc: Fix an incomplete memory release in fastrpc_rpmsg_probe() fastrpc_channel_ctx is not freed if misc_register() fails, this would lead to a memory leak. Fix this leak by adding kfree in misc_register() error path. Fixes: 278d56f970ae ("misc: fastrpc: Reference count channel context") Signed-off-by: Srinivas Kandagatla Reviewed-by: Bjorn Andersson Link: https://lore.kernel.org/r/20200511162722.2552-1-srinivas.kandagatla@linaro.org Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index e3e085e33d46b..9065d3e71ff76 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -1613,8 +1613,10 @@ static int fastrpc_rpmsg_probe(struct rpmsg_device *rpdev) domains[domain_id]); data->miscdev.fops = &fastrpc_fops; err = misc_register(&data->miscdev); - if (err) + if (err) { + kfree(data); return err; + } kref_init(&data->refcount);