* [PATCH v2] rapidio: replace rio_free_net() with kfree() in rio_scan_alloc_net()
@ 2026-01-21 1:35 Haoxiang Li
2026-01-21 21:12 ` Andrew Morton
0 siblings, 1 reply; 2+ messages in thread
From: Haoxiang Li @ 2026-01-21 1:35 UTC (permalink / raw)
To: mporter, alex.bou9, akpm; +Cc: linux-kernel, Haoxiang Li, stable
When idtab allocation fails, net is not registered with rio_add_net()
yet, so kfree(net) is sufficient to release the memory.
Set mport->net to NULL to avoid dangling pointer.
Fixes: e6b585ca6e81 ("rapidio: move net allocation into core code")
Cc: stable@vger.kernel.org
Signed-off-by: Haoxiang Li <lihaoxiang@isrc.iscas.ac.cn>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
---
Changes in v2:
- Set mport->net to NULL. Thanks, Andrew!
---
drivers/rapidio/rio-scan.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/rapidio/rio-scan.c b/drivers/rapidio/rio-scan.c
index c12941f71e2c..dcd6619a4b02 100644
--- a/drivers/rapidio/rio-scan.c
+++ b/drivers/rapidio/rio-scan.c
@@ -854,7 +854,8 @@ static struct rio_net *rio_scan_alloc_net(struct rio_mport *mport,
if (idtab == NULL) {
pr_err("RIO: failed to allocate destID table\n");
- rio_free_net(net);
+ kfree(net);
+ mport->net = NULL;
net = NULL;
} else {
net->enum_data = idtab;
--
2.25.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v2] rapidio: replace rio_free_net() with kfree() in rio_scan_alloc_net()
2026-01-21 1:35 [PATCH v2] rapidio: replace rio_free_net() with kfree() in rio_scan_alloc_net() Haoxiang Li
@ 2026-01-21 21:12 ` Andrew Morton
0 siblings, 0 replies; 2+ messages in thread
From: Andrew Morton @ 2026-01-21 21:12 UTC (permalink / raw)
To: Haoxiang Li; +Cc: mporter, alex.bou9, linux-kernel, stable
On Wed, 21 Jan 2026 09:35:08 +0800 Haoxiang Li <lihaoxiang@isrc.iscas.ac.cn> wrote:
> When idtab allocation fails, net is not registered with rio_add_net()
> yet, so kfree(net) is sufficient to release the memory.
> Set mport->net to NULL to avoid dangling pointer.
>
> ...
>
> --- a/drivers/rapidio/rio-scan.c
> +++ b/drivers/rapidio/rio-scan.c
> @@ -854,7 +854,8 @@ static struct rio_net *rio_scan_alloc_net(struct rio_mport *mport,
>
> if (idtab == NULL) {
> pr_err("RIO: failed to allocate destID table\n");
> - rio_free_net(net);
> + kfree(net);
> + mport->net = NULL;
Sure. Might not have any effect, but it's defensive.
> net = NULL;
> } else {
> net->enum_data = idtab;
I'll add this to the 6.20(?)-rcX queue soon, unless someone stops me.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-01-21 21:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-21 1:35 [PATCH v2] rapidio: replace rio_free_net() with kfree() in rio_scan_alloc_net() Haoxiang Li
2026-01-21 21:12 ` Andrew Morton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox