]> git.ipfire.org Git - thirdparty/kernel/linux.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)
committerMark Brown <broonie@kernel.org>
Thu, 27 Nov 2025 18:58:26 +0000 (18:58 +0000)
commit0cc15a10c3b4ab14cd71b779fd5c9ca0cb2bc30d
treefc3b48b630321eede4682cd0a680f61b90ad37b5
parentc67bb84434b024fa2ae83f91bbd02457f2d2c8a6
regulator: core: Protect regulator_supply_alias_list with regulator_list_mutex

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>
drivers/regulator/core.c