mmc: alcor: fix return value check of mmc_add_host()
authorYang Yingliang <yangyingliang@huawei.com>
Tue, 1 Nov 2022 06:30:15 +0000 (14:30 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 Dec 2022 12:14:16 +0000 (13:14 +0100)
commit29c5b4da41f35108136d843c7432885c78cf8272
tree9e21c75612c46b422644f77b70b7e217c90011e7
parent52e0d8a8dda316ddd2107481dcf19abd9e9a71a2
mmc: alcor: fix return value check of mmc_add_host()

[ Upstream commit e93d1468f429475a753d6baa79b853b7ee5ef8c0 ]

mmc_add_host() may return error, if we ignore its return value, the memory
that allocated in mmc_alloc_host() will be leaked and it will lead a kernel
crash because of deleting not added device in the remove path.

So fix this by checking the return value and calling mmc_free_host() in the
error path.

Fixes: c5413ad815a6 ("mmc: add new Alcor Micro Cardreader SD/MMC driver")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20221101063023.1664968-2-yangyingliang@huawei.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mmc/host/alcor.c