• Chunyu Hu's avatar
    cpufreq: cppc_cpufreq: Fix cppc_cpufreq_init() failure path · 1177eca0
    Chunyu Hu authored
    [ Upstream commit 55b55abc ]
    
    Kmemleak reported the below leak. When cppc_cpufreq_init went into
    failure path, the cpu mask is not freed. After fix, this report is
    gone. And to avaoid potential NULL pointer reference, check the cpu
    value first.
    
    unreferenced object 0xffff800fd5ea4880 (size 128):
      comm "swapper/0", pid 1, jiffies 4294939510 (age 668.680s)
      hex dump (first 32 bytes):
        00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00  .... ...........
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
      backtrace:
        [<ffff0000082c4ae4>] __kmalloc_node+0x278/0x634
        [<ffff0000088f4a74>] alloc_cpumask_var_node+0x28/0x60
        [<ffff0000088f4af0>] zalloc_cpumask_var+0x14/0x1c
        [<ffff000008d20254>] cppc_cpufreq_init+0xd0/0x19c
        [<ffff000008083828>] do_one_initcall+0xec/0x15c
        [<ffff000008cd1018>] kernel_init_freeable+0x1f4/0x2a4
        [<ffff0000089099b0>] kernel_init+0x18/0x10c
        [<ffff000008084d50>] ret_from_fork+0x10/0x18
        [<ffffffffffffffff>] 0xffffffffffffffff
    Signed-off-by: default avatarChunyu Hu <chuhu@redhat.com>
    Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: default avatarSasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    1177eca0
cppc_cpufreq.c 4.53 KB