]> git.baikalelectronics.ru Git - kernel.git/commitdiff
regulator: core: use kfree_const() to free space conditionally
authorWang ShaoBo <bobo.shaobowang@huawei.com>
Wed, 23 Nov 2022 03:46:16 +0000 (11:46 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Jan 2023 10:41:04 +0000 (11:41 +0100)
[ Upstream commit dc8d006d15b623c1d80b90b45d6dcb6e890dad09 ]

Use kfree_const() to free supply_name conditionally in create_regulator()
as supply_name may be allocated from kmalloc() or directly from .rodata
section.

Fixes: 9104bbc1abe9 ("regulator: push allocations in create_regulator() outside of lock")
Signed-off-by: Wang ShaoBo <bobo.shaobowang@huawei.com>
Link: https://lore.kernel.org/r/20221123034616.3609537-1-bobo.shaobowang@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/regulator/core.c

index ee71dcb009bf7ed1536a857e162efa63967f0953..9b4783bf63f7420ab6a08c1fcd1a47211868c65f 100644 (file)
@@ -1604,7 +1604,7 @@ static struct regulator *create_regulator(struct regulator_dev *rdev,
 
        regulator = kzalloc(sizeof(*regulator), GFP_KERNEL);
        if (regulator == NULL) {
-               kfree(supply_name);
+               kfree_const(supply_name);
                return NULL;
        }