drivers: base: transport_class: fix possible memory leak
authorYang Yingliang <yangyingliang@huawei.com>
Thu, 10 Nov 2022 10:23:07 +0000 (18:23 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Mar 2023 08:33:34 +0000 (09:33 +0100)
commite77745640f8f4e0f84fda2900633789d6f0a67d0
tree0899a89aa3f5070a8df329ed2415d77bc717f168
parent8fe72b8f59f63ca776bb8a4fcd2f406057a9fc90
drivers: base: transport_class: fix possible memory leak

[ Upstream commit a86367803838b369fe5486ac18771d14723c258c ]

Current some drivers(like iscsi) call transport_register_device()
failed, they don't call transport_destroy_device() to release the
memory allocated in transport_setup_device(), because they don't
know what was done, it should be internal thing to release the
resource in register function. So fix this leak by calling destroy
function inside register function.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20221110102307.3492557-1-yangyingliang@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
include/linux/transport_class.h