Commit 7ac2c3cf authored by Uwe Kleine-König's avatar Uwe Kleine-König Committed by Yi Yang
Browse files

mmc: davinci: Don't strip remove function when driver is builtin

stable inclusion
from stable-v5.10.221
commit 6ff7cfa02baabec907f6f29ea76634e6256d2ec4
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAB0L1
CVE: CVE-2024-39484

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=6ff7cfa02baabec907f6f29ea76634e6256d2ec4



--------------------------------

[ Upstream commit 55c421b364482b61c4c45313a535e61ed5ae4ea3 ]

Using __exit for the remove function results in the remove callback being
discarded with CONFIG_MMC_DAVINCI=y. When such a device gets unbound (e.g.
using sysfs or hotplug), the driver is just removed without the cleanup
being performed. This results in resource leaks. Fix it by compiling in the
remove callback unconditionally.

This also fixes a W=1 modpost warning:

WARNING: modpost: drivers/mmc/host/davinci_mmc: section mismatch in
reference: davinci_mmcsd_driver+0x10 (section: .data) ->
davinci_mmcsd_remove (section: .exit.text)

Fixes: b4cff454 ("DaVinci: MMC: MMC/SD controller driver for DaVinci family")
Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20240324114017.231936-2-u.kleine-koenig@pengutronix.de


Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarYi Yang <yiyang13@huawei.com>
parent 50a2fbeb
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment