• Xiaobing Luo's avatar
    cpufreq: fix memory leak in sun50i_cpufreq_nvmem_probe · 1aa24a8f
    Xiaobing Luo authored
    ```-----------------------------------------
    unreferenced object 0xffff000010742a00 (size 128):
      comm "swapper/0", pid 1, jiffies 4294902015 (age 1187.652s)
      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:
        [<00000000b4dfebaa>] __kmalloc+0x338/0x474
        [<00000000d6e716db>] sun50i_cpufreq_nvmem_probe+0xc4/0x36c
        [<000000007d6082a0>] platform_probe+0x98/0x11c
        [<00000000c990f549>] really_probe+0x234/0x5a0
        [<000000002d9fecc6>] __driver_probe_device+0x194/0x224
        [<00000000cf0b94fa>] driver_probe_device+0x64/0x13c
        [<00000000f238e4cf>] __device_attach_driver+0xf8/0x180
        [<000000006720e418>] bus_for_each_drv+0xf8/0x160
        [<00000000df4f14f6>] __device_attach+0x174/0x29c
        [<00000000782002fb>] device_initial_probe+0x20/0x30
        [<00000000c2681b06>] bus_probe_device+0xfc/0x110
        [<00000000964cf3bd>] device_add+0x5f0/0xcd0
        [<000000004b9264e3>] platform_device_add+0x198/0x390
        [<00000000fa82a9d0>] platform_device_register_full+0x178/0x210
        [<000000009a5daf13>] sun50i_cpufreq_init+0xf8/0x168
        [<000000000377cc7c>] do_one_initcall+0xe4/0x570
    ```
    
    -----------------------------------------
    
    if sun50i_cpufreq_get_efuse failed, then opp_tables leak.
    
    Fixes: f328584f ("cpufreq: Add sun50i nvmem based CPU scaling driver")
    Signed-off-by: default avatarXiaobing Luo <luoxiaobing0926@gmail.com>
    Reviewed-by: default avatarSamuel Holland <samuel@sholland.org>
    Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
    1aa24a8f
sun50i-cpufreq-nvmem.c 5.03 KB