summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/cppc_acpi.c
diff options
context:
space:
mode:
authorQiushi Wu <wu000273@umn.edu>2020-05-28 00:35:51 +0200
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2020-05-28 13:47:53 +0200
commit4d8be4bc94f74bb7d096e1c2e44457b530d5a170 (patch)
tree343ffb7692790f6368951d824e83df7facc6ec78 /drivers/acpi/cppc_acpi.c
parentACPI: CPPC: Make some symbols static (diff)
downloadlinux-4d8be4bc94f74bb7d096e1c2e44457b530d5a170.tar.xz
linux-4d8be4bc94f74bb7d096e1c2e44457b530d5a170.zip
ACPI: CPPC: Fix reference count leak in acpi_cppc_processor_probe()
kobject_init_and_add() takes reference even when it fails. If this function returns an error, kobject_put() must be called to properly clean up the memory associated with the object. Previous commit "b8eb718348b8" fixed a similar problem. Fixes: 158c998ea44b ("ACPI / CPPC: add sysfs support to compute delivered performance") Signed-off-by: Qiushi Wu <wu000273@umn.edu> Cc: 4.10+ <stable@vger.kernel.org> # 4.10+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi/cppc_acpi.c')
-rw-r--r--drivers/acpi/cppc_acpi.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c
index f8184004294a..7a99b19bb893 100644
--- a/drivers/acpi/cppc_acpi.c
+++ b/drivers/acpi/cppc_acpi.c
@@ -846,6 +846,7 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr)
"acpi_cppc");
if (ret) {
per_cpu(cpc_desc_ptr, pr->id) = NULL;
+ kobject_put(&cpc_ptr->kobj);
goto out_free;
}