Skip to content

Commit e842f9a

Browse files
Haoxiang Liakpm00
authored andcommitted
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(). Link: https://lkml.kernel.org/r/20250227041131.3680761-1-haoxiang_li2024@163.com Fixes: e6b585c ("rapidio: move net allocation into core code") Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> Signed-off-by: Haoxiang Li <haoxiang_li2024@163.com> Cc: Alexandre Bounine <alex.bou9@gmail.com> Cc: Matt Porter <mporter@kernel.crashing.org> Cc: Dan Carpenter <dan.carpenter@linaro.org> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
1 parent b2ef51c commit e842f9a

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

drivers/rapidio/rio-scan.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -871,7 +871,10 @@ static struct rio_net *rio_scan_alloc_net(struct rio_mport *mport,
871871
dev_set_name(&net->dev, "rnet_%d", net->id);
872872
net->dev.parent = &mport->dev;
873873
net->dev.release = rio_scan_release_dev;
874-
rio_add_net(net);
874+
if (rio_add_net(net)) {
875+
put_device(&net->dev);
876+
net = NULL;
877+
}
875878
}
876879

877880
return net;

0 commit comments

Comments
 (0)