mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-28 06:34:12 +08:00
thermal: core: Use kstrdup_const() during cooling device registration
Some *thermal_cooling_device_register() calls pass a string literal as the 'type' parameter, so kstrdup_const() can be used instead of kstrdup() to avoid a memory allocation in such cases. Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> [ rjw: Subject and changelog edits ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
7ef01f228c
commit
57a427c81c
@ -845,7 +845,7 @@ static void thermal_release(struct device *dev)
|
||||
sizeof("cooling_device") - 1)) {
|
||||
cdev = to_cooling_device(dev);
|
||||
thermal_cooling_device_destroy_sysfs(cdev);
|
||||
kfree(cdev->type);
|
||||
kfree_const(cdev->type);
|
||||
ida_free(&thermal_cdev_ida, cdev->id);
|
||||
kfree(cdev);
|
||||
}
|
||||
@ -917,7 +917,7 @@ __thermal_cooling_device_register(struct device_node *np,
|
||||
cdev->id = ret;
|
||||
id = ret;
|
||||
|
||||
cdev->type = kstrdup(type ? type : "", GFP_KERNEL);
|
||||
cdev->type = kstrdup_const(type ? type : "", GFP_KERNEL);
|
||||
if (!cdev->type) {
|
||||
ret = -ENOMEM;
|
||||
goto out_ida_remove;
|
||||
@ -970,7 +970,7 @@ __thermal_cooling_device_register(struct device_node *np,
|
||||
out_cooling_dev:
|
||||
thermal_cooling_device_destroy_sysfs(cdev);
|
||||
out_cdev_type:
|
||||
kfree(cdev->type);
|
||||
kfree_const(cdev->type);
|
||||
out_ida_remove:
|
||||
ida_free(&thermal_cdev_ida, id);
|
||||
out_kfree_cdev:
|
||||
|
@ -103,7 +103,7 @@ struct thermal_cooling_device_ops {
|
||||
|
||||
struct thermal_cooling_device {
|
||||
int id;
|
||||
char *type;
|
||||
const char *type;
|
||||
unsigned long max_state;
|
||||
struct device device;
|
||||
struct device_node *np;
|
||||
|
Loading…
Reference in New Issue
Block a user