Skip to content
  • Xiaotian Feng's avatar
    [CPUFREQ] fix memory leak in cpufreq_add_dev · 6f90388a
    Xiaotian Feng authored
    
    
    We didn't free policy->related_cpus in error path err_unlock_policy.
    This is catched by following kmemleak report:
    
    unreferenced object 0xffff88022a0b96d0 (size 512):
      comm "modprobe", pid 886, jiffies 4294689177 (age 780.694s)
      hex dump (first 32 bytes):
        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 00 00 00 00 00  ................
      backtrace:
        [<ffffffff8111ebe5>] create_object+0x186/0x281
        [<ffffffff814fad4f>] kmemleak_alloc+0x60/0xa7
        [<ffffffff8111127a>] kmem_cache_alloc_node_notrace+0x120/0x142
        [<ffffffff81262e4f>] alloc_cpumask_var_node+0x2c/0xd7
        [<ffffffff81262f0b>] alloc_cpumask_var+0x11/0x13
        [<ffffffff81262f1c>] zalloc_cpumask_var+0xf/0x11
        [<ffffffff8140fac0>] cpufreq_add_dev+0x11f/0x547
        [<ffffffff81334bda>] sysdev_driver_register+0xc2/0x11d
        [<ffffffff8140e334>] cpufreq_register_driver+0xcb/0x1b8
        [<ffffffffa032e040>] 0xffffffffa032e040
        [<ffffffff810021ba>] do_one_initcall+0x5e/0x15c
        [<ffffffff81087f94>] sys_init_module+0xa6/0x1e6
        [<ffffffff81009bc2>] system_call_fastpath+0x16/0x1b
        [<ffffffffffffffff>] 0xffffffffffffffff
    
    Signed-off-by: default avatarXiaotian Feng <dfeng@redhat.com>
    Cc: Thomas Renninger <trenn@suse.de>
    Cc: Prarit Bhargava <prarit@redhat.com>
    Signed-off-by: default avatarDave Jones <davej@redhat.com>
    6f90388a