]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
regulator: core: Protect regulator_supply_alias_list with regulator_list_mutex
authorsparkhuang <huangshaobo3@xiaomi.com>
Thu, 27 Nov 2025 02:57:16 +0000 (10:57 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jan 2026 12:09:35 +0000 (13:09 +0100)
commit9d041a7ba13f21adfac052eb3fda1df62f2166c1
tree00d5c53925372d18b3c5ffa2d42e5a1fc2c49453
parent4a79a1d496b9643363bb97f473fd03183e278e1b
regulator: core: Protect regulator_supply_alias_list with regulator_list_mutex

[ Upstream commit 0cc15a10c3b4ab14cd71b779fd5c9ca0cb2bc30d ]

regulator_supply_alias_list was accessed without any locking in
regulator_supply_alias(), regulator_register_supply_alias(), and
regulator_unregister_supply_alias(). Concurrent registration,
unregistration and lookups can race, leading to:

1 use-after-free if an alias entry is removed while being read,
2 duplicate entries when two threads register the same alias,
3 inconsistent alias mappings observed by consumers.

Protect all traversals, insertions and deletions on
regulator_supply_alias_list with the existing regulator_list_mutex.

Fixes: a06ccd9c3785f ("regulator: core: Add ability to create a lookup alias for supply")
Signed-off-by: sparkhuang <huangshaobo3@xiaomi.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://patch.msgid.link/20251127025716.5440-1-huangshaobo3@xiaomi.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/regulator/core.c