Skip to content
  • Guido Martínez's avatar
    drm/tilcdc: fix double kfree · ddb3b2c0
    Guido Martínez authored
    
    
    commit c9a3ad25eddfdb898114a9d73cdb4c3472d9dfca upstream.
    
    display_timings_release calls kfree on the display_timings object passed
    to it. Calling kfree after it is wrong. SLUB debug showed the following
    warning:
    
        =============================================================================
        BUG kmalloc-64 (Tainted: G        W    ): Object already free
        -----------------------------------------------------------------------------
    
        Disabling lock debugging due to kernel taint
        INFO: Allocated in of_get_display_timings+0x2c/0x214 age=601 cpu=0
        pid=884
         __slab_alloc.constprop.79+0x2e0/0x33c
         kmem_cache_alloc+0xac/0xdc
         of_get_display_timings+0x2c/0x214
         panel_probe+0x7c/0x314 [tilcdc]
         platform_drv_probe+0x18/0x48
         [..snip..]
        INFO: Freed in panel_destroy+0x18/0x3c [tilcdc] age=0 cpu=0 pid=907
         __slab_free+0x34/0x330
         panel_destroy+0x18/0x3c [tilcdc]
         tilcdc_unload+0xd0/0x118 [tilcdc]
         drm_dev_unregister+0x24/0x98
         [..snip..]
    
    Signed-off-by: default avatarGuido Martínez <guido@vanguardiasur.com.ar>
    Tested-by: default avatarDarren Etheridge <detheridge@ti.com>
    Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    ddb3b2c0