From: Qinglang Miao <miaoqingl...@huawei.com>

[ Upstream commit e3e9ced5c93803d5b2ea1942c4bf0192622531d6 ]

kfree(host->card) has been called in put_device so that
another kfree would raise cause a double-free bug.

Fixes: 0193383a5833 ("memstick: core: fix device_register() error handling")
Reported-by: Hulk Robot <hul...@huawei.com>
Signed-off-by: Qinglang Miao <miaoqingl...@huawei.com>
Link: https://lore.kernel.org/r/20201120074846.31322-1-miaoqingl...@huawei.com
Signed-off-by: Ulf Hansson <ulf.hans...@linaro.org>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 drivers/memstick/core/memstick.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/memstick/core/memstick.c b/drivers/memstick/core/memstick.c
index ef03d6fafc5ce..12bc3f5a6cbbd 100644
--- a/drivers/memstick/core/memstick.c
+++ b/drivers/memstick/core/memstick.c
@@ -468,7 +468,6 @@ static void memstick_check(struct work_struct *work)
                        host->card = card;
                        if (device_register(&card->dev)) {
                                put_device(&card->dev);
-                               kfree(host->card);
                                host->card = NULL;
                        }
                } else
-- 
2.27.0



Reply via email to