[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20250227041131.3680761-1-haoxiang_li2024@163.com>
Date: Thu, 27 Feb 2025 12:11:31 +0800
From: Haoxiang Li <haoxiang_li2024@....com>
To: mporter@...nel.crashing.org,
alex.bou9@...il.com,
akpm@...ux-foundation.org
Cc: linux-kernel@...r.kernel.org,
Haoxiang Li <haoxiang_li2024@....com>,
stable@...r.kernel.org,
Yang Yingliang <yangyingliang@...wei.com>
Subject: [PATCH] rapidio: Add check for rio_add_net() in rio_scan_alloc_net()
The return value of rio_add_net() should be checked. If it fails,
put_device() should be called to free the memory and give up the
reference initialized in rio_add_net().
Fixes: e6b585ca6e81 ("rapidio: move net allocation into core code")
Cc: stable@...r.kernel.org
Signed-off-by: Yang Yingliang <yangyingliang@...wei.com>
Signed-off-by: Haoxiang Li <haoxiang_li2024@....com>
---
drivers/rapidio/rio-scan.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/rapidio/rio-scan.c b/drivers/rapidio/rio-scan.c
index fdcf742b2adb..b9daacc7f1ec 100644
--- a/drivers/rapidio/rio-scan.c
+++ b/drivers/rapidio/rio-scan.c
@@ -871,7 +871,10 @@ static struct rio_net *rio_scan_alloc_net(struct rio_mport *mport,
dev_set_name(&net->dev, "rnet_%d", net->id);
net->dev.parent = &mport->dev;
net->dev.release = rio_scan_release_dev;
- rio_add_net(net);
+ if (rio_add_net(net)) {
+ put_device(&net->dev);
+ net = NULL;
+ }
}
return net;
--
2.25.1
Powered by blists - more mailing lists