• Chris Wilson's avatar
    drm/i915: Initialise userptr mmu_notifier serial to 1 · 6c308fec
    Chris Wilson authored
    During the range invalidate, we walk the list of buffers associated with
    the mmu_notifer and find the ones that overlap the range. An
    optimisation is made to speed up the iteration by assuming the previous
    iter is still valid whilst the tree is unmodified. This exposes a bug
    when a range invalidate is triggered after we have just created the
    mmu_notifier, but before attaching any buffers. In that case, we presume
    we have an unmodified list and start walking from the last iter which is
    NULL. Oops.
    
    The easiest fix is then to initialise the serial of the tree to 1.
    Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
    Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
    Testecase: igt/gem_userptr_blts/stress-mm
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    6c308fec
i915_gem_userptr.c 19.2 KB