drivers/regulator/axp20x-regulator.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
From: Kees Cook <kees+treewide@kernel.org>
In preparation for making the devm_kmalloc family of allocators type
aware, we need to make sure that the returned type from the allocation
matches the type of the variable being assigned. (Before, the allocator
would always return "void *", which can be implicitly cast to any
pointer type.)
The assigned type is "struct regulator_desc *", but the converted
allocation types would be "const struct regulator_desc *", as all three
sizeof()s were taken from "*desc", and "desc" is
"const struct regulator_desc *". As there is no general way to remove
const qualifiers, take the size from the assignment target instead. No
change in allocation size results.
Build tested ARCH=x86_64 allmodconfig with GCC 16.2.0:
drivers/regulator/axp20x-regulator.o
Assisted-by: LLM coccinelle
Signed-off-by: Kees Cook <kees+treewide@kernel.org>
---
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Chen-Yu Tsai <wens@kernel.org>
---
drivers/regulator/axp20x-regulator.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/regulator/axp20x-regulator.c b/drivers/regulator/axp20x-regulator.c
index da891415efc0..ec6ec071ffde 100644
--- a/drivers/regulator/axp20x-regulator.c
+++ b/drivers/regulator/axp20x-regulator.c
@@ -1652,7 +1652,7 @@ static int axp20x_regulator_probe(struct platform_device *pdev)
(regulators == axp803_regulators && i == AXP803_DC1SW) ||
(regulators == axp809_regulators && i == AXP809_DC1SW) ||
(regulators == axp15060_regulators && i == AXP15060_SW)) {
- new_desc = devm_kzalloc(&pdev->dev, sizeof(*desc),
+ new_desc = devm_kzalloc(&pdev->dev, sizeof(*new_desc),
GFP_KERNEL);
if (!new_desc)
return -ENOMEM;
@@ -1665,7 +1665,7 @@ static int axp20x_regulator_probe(struct platform_device *pdev)
if ((regulators == axp22x_regulators && i == AXP22X_DC5LDO) ||
(regulators == axp809_regulators && i == AXP809_DC5LDO) ||
(regulators == axp15060_regulators && i == AXP15060_CPUSLDO)) {
- new_desc = devm_kzalloc(&pdev->dev, sizeof(*desc),
+ new_desc = devm_kzalloc(&pdev->dev, sizeof(*new_desc),
GFP_KERNEL);
if (!new_desc)
return -ENOMEM;
@@ -1677,7 +1677,7 @@ static int axp20x_regulator_probe(struct platform_device *pdev)
if (regulators == axp15060_regulators && i == AXP15060_RTC_LDO) {
- new_desc = devm_kzalloc(&pdev->dev, sizeof(*desc),
+ new_desc = devm_kzalloc(&pdev->dev, sizeof(*new_desc),
GFP_KERNEL);
if (!new_desc)
return -ENOMEM;
--
2.34.1
On Thu, 17 Sep 2026 14:13:16 -0700, Kees Cook wrote:
> regulator: axp20x: Remove const from new_desc allocation types
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-7.4
Thanks!
[1/1] regulator: axp20x: Remove const from new_desc allocation types
https://git.kernel.org/broonie/regulator/c/b53a09c957b6
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
© 2016 - 2026 Red Hat, Inc.