ACPI: CPPC: Fix reference count leak in acpi_cppc_processor_probe()
authorQiushi Wu <wu000273@umn.edu>
Wed, 27 May 2020 22:35:51 +0000 (17:35 -0500)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 28 May 2020 11:47:53 +0000 (13:47 +0200)
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>
drivers/acpi/cppc_acpi.c

index f818400..7a99b19 100644 (file)
@@ -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;
        }