]> git.baikalelectronics.ru Git - kernel.git/commit
siox: fix possible memory leak in siox_device_add()
authorYang Yingliang <yangyingliang@huawei.com>
Fri, 4 Nov 2022 02:13:34 +0000 (10:13 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 Nov 2022 16:42:14 +0000 (17:42 +0100)
commit89328d2c77b3eb2fd6cfa4a8e1637500c04486fc
tree09337689ee74241a2f96e9e4419308623c2bfb28
parent8b5dd9ad8460a1f5025153fe3c07ad1fc03b8fa0
siox: fix possible memory leak in siox_device_add()

[ Upstream commit f3561f9511aedba9bce8d561a415c26213c3825b ]

If device_register() returns error in siox_device_add(),
the name allocated by dev_set_name() need be freed. As
comment of device_register() says, it should use put_device()
to give up the reference in the error path. So fix this
by calling put_device(), then the name can be freed in
kobject_cleanup(), and sdevice is freed in siox_device_release(),
set it to null in error path.

Fixes: a6a6ac2ef3f0 ("siox: new driver framework for eckelmann SIOX")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20221104021334.618189-1-yangyingliang@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/siox/siox-core.c