summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2025-02-07 12:43:58 +0100
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2025-02-07 12:43:58 +0100
commit73195bed7899150cd1005cf0a902b68793adad23 (patch)
tree6327a1c5cd1803d08e0f8d67d51afa54d4f222dc
parentb3cc5afc4d972ca30dc5d25ed5e1056e62b5efa8 (diff)
parent93c66fbc280747ea700bd6199633d661e3c819b3 (diff)
Merge branch 'pm-powercap'
Fix a possible memory leak in the power capping subsystem (Joe Hattori). * pm-powercap: powercap: call put_device() on an error path in powercap_register_control_type()
-rw-r--r--drivers/powercap/powercap_sys.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/powercap/powercap_sys.c b/drivers/powercap/powercap_sys.c
index 52c32dcbf7d8..4112a0097338 100644
--- a/drivers/powercap/powercap_sys.c
+++ b/drivers/powercap/powercap_sys.c
@@ -627,8 +627,7 @@ struct powercap_control_type *powercap_register_control_type(
dev_set_name(&control_type->dev, "%s", name);
result = device_register(&control_type->dev);
if (result) {
- if (control_type->allocated)
- kfree(control_type);
+ put_device(&control_type->dev);
return ERR_PTR(result);
}
idr_init(&control_type->idr);