[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200821034458.22472-1-acostag.ubuntu@gmail.com>
Date: Thu, 20 Aug 2020 22:44:57 -0500
From: George Acosta <acostag.ubuntu@...il.com>
To: acostag.ubuntu@...il.com
Cc: Matt Porter <mporter@...nel.crashing.org>,
Alexandre Bounine <alex.bou9@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
John Hubbard <jhubbard@...dia.com>,
"Gustavo A. R. Silva" <gustavoars@...nel.org>,
Madhuparna Bhowmik <madhuparnabhowmik10@...il.com>,
Kees Cook <keescook@...omium.org>,
Dan Carpenter <dan.carpenter@...cle.com>,
linux-kernel@...r.kernel.org
Subject: [PATCH] rapidio: fix get device imbalance on error
Fix the imbalance in mport_cdev_open.
Call put_device in error path to balance the
refcount that increased by the get_device.
Fixes: e8de370188d0 ("rapidio: add mport char device driver")
Signed-off-by: George Acosta <acostag.ubuntu@...il.com>
---
drivers/rapidio/devices/rio_mport_cdev.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/rapidio/devices/rio_mport_cdev.c b/drivers/rapidio/devices/rio_mport_cdev.c
index c07ceec3c6d4..3b68e00eb40f 100644
--- a/drivers/rapidio/devices/rio_mport_cdev.c
+++ b/drivers/rapidio/devices/rio_mport_cdev.c
@@ -1908,6 +1908,7 @@ static int mport_cdev_open(struct inode *inode, struct file *filp)
sizeof(struct rio_event) * MPORT_EVENT_DEPTH,
GFP_KERNEL);
if (ret < 0) {
+ put_device(&chdev->dev);
dev_err(&chdev->dev, DRV_NAME ": kfifo_alloc failed\n");
ret = -ENOMEM;
goto err_fifo;
--
2.17.1
Powered by blists - more mailing lists