• Lucas Stach's avatar
    drm/etnaviv: reap idle mapping if it doesn't match the softpin address · 332f8472
    Lucas Stach authored
    When a idle BO, which is held open by another process, gets freed by
    userspace and subsequently referenced again by e.g. importing it again,
    userspace may assign a different softpin VA than the last time around.
    As the kernel GEM object still exists, we likely have a idle mapping
    with the old VA still cached, if it hasn't been reaped in the meantime.
    
    As the context matches, we then simply try to resurrect this mapping by
    increasing the refcount. As the VA in this mapping does not match the
    new softpin address, we consequently fail the otherwise valid submit.
    Instead of failing, reap the idle mapping.
    
    Cc: stable@vger.kernel.org # 5.19
    Signed-off-by: default avatarLucas Stach <l.stach@pengutronix.de>
    Reviewed-by: default avatarGuido Günther <agx@sigxcpu.org>
    332f8472
etnaviv_gem.c 18.1 KB