]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
ACPI: acpi_pad: Fix memory leak in power saving threads
authorLenny Szubowicz <lszubowi@redhat.com>
Tue, 27 Mar 2018 13:56:40 +0000 (09:56 -0400)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Mon, 27 Aug 2018 14:40:05 +0000 (16:40 +0200)
BugLink: http://bugs.launchpad.net/bugs/1786352
[ Upstream commit 8b29d29abc484d638213dd79a18a95ae7e5bb402 ]

Fix once per second (round_robin_time) memory leak of about 1 KB in
each acpi_pad kernel idling thread that is activated.

Found by testing with kmemleak.

Signed-off-by: Lenny Szubowicz <lszubowi@redhat.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.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/acpi_pad.c

index 7544310312825507ae010262c35a031ce9262850..552c1f725b6cf5ab8d4a86ba556c37a053d91b1d 100644 (file)
@@ -110,6 +110,7 @@ static void round_robin_cpu(unsigned int tsk_index)
                cpumask_andnot(tmp, cpu_online_mask, pad_busy_cpus);
        if (cpumask_empty(tmp)) {
                mutex_unlock(&round_robin_lock);
+               free_cpumask_var(tmp);
                return;
        }
        for_each_cpu(cpu, tmp) {
@@ -127,6 +128,8 @@ static void round_robin_cpu(unsigned int tsk_index)
        mutex_unlock(&round_robin_lock);
 
        set_cpus_allowed_ptr(current, cpumask_of(preferred_cpu));
+
+       free_cpumask_var(tmp);
 }
 
 static void exit_round_robin(unsigned int tsk_index)