• Daniel Vetter's avatar
    drm/tegra: restrict plane loops to legacy planes · 2b4c3661
    Daniel Vetter authored
    In Matt Ropers primary plane series a set of prep patches like
    
    commit af2b653b
    Author: Matt Roper <matthew.d.roper@intel.com>
    Date:   Tue Apr 1 15:22:32 2014 -0700
    
        drm/i915: Restrict plane loops to only operate on overlay planes (v2)
    
    ensured that all exisiting users of the mode_config->plane_list
    wouldn't change behaviour. Unfortunately tegra seems to have fallen
    through the cracks. Fix it.
    
    This regression was introduced in
    
    commit e13161af
    Author: Matt Roper <matthew.d.roper@intel.com>
    Date:   Tue Apr 1 15:22:38 2014 -0700
    
        drm: Add drm_crtc_init_with_planes() (v2)
    
    The result was that we've unref'ed the fb for the primary plane twice,
    leading to a use-after free bug. This is because the drm core will
    already set crtc->primary->fb to NULL and do the unref for us, and the
    crtc disable hook is called by the drm crtc helpers for exactly this
    case.
    
    Aside: Now that the fbdev helpers clean up planes there's no longer a
    need to do this in drivers. So this could probably be nuked entirely
    in linux-next.
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    Reviewed-by: default avatarMatt Roper <matthew.d.roper@intel.com>
    Tested-by: default avatarStephen Warren <swarren@nvidia.com>
    Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
    2b4c3661
dc.c 34.6 KB