]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
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)
committerKhalid Elmously <khalid.elmously@canonical.com>
Sat, 8 Aug 2020 05:53:12 +0000 (01:53 -0400)
BugLink: https://bugs.launchpad.net/bugs/1884089
commit 4d8be4bc94f74bb7d096e1c2e44457b530d5a170 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
drivers/acpi/cppc_acpi.c

index a1a858ad4d18d57117eaf3e2a65ca26985754f0a..f9b1a2abdbe2f31894f3f3fdf1126adffd620783 100644 (file)
@@ -865,6 +865,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;
        }