mISDN: fix possible memory leak in mISDN_register_device()
authorYang Yingliang <yangyingliang@huawei.com>
Mon, 31 Oct 2022 12:13:40 +0000 (20:13 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Nov 2022 14:47:21 +0000 (15:47 +0100)
commit080aabfb29b2ee9cbb8894a1d039651943d3773e
tree0c8cc8712e26dbeecf5656e03af2243a508e0a51
parentbbc03d74e641e824754443b908454ca9e203773e
mISDN: fix possible memory leak in mISDN_register_device()

[ Upstream commit e7d1d4d9ac0dfa40be4c2c8abd0731659869b297 ]

Afer commit 1fa5ae857bb1 ("driver core: get rid of struct device's
bus_id string array"), the name of device is allocated dynamically,
add put_device() to give up the reference, so that the name can be
freed in kobject_cleanup() when the refcount is 0.

Set device class before put_device() to avoid null release() function
WARN message in device_release().

Fixes: 1fa5ae857bb1 ("driver core: get rid of struct device's bus_id string array")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/isdn/mISDN/core.c