• Linus Torvalds's avatar
    i915: fix missing user_access_end() in page fault exception case · 0b2c8f8b
    Linus Torvalds authored
    When commit fddcd00a ("drm/i915: Force the slow path after a
    user-write error") unified the error handling for various user access
    problems, it didn't do the user_access_end() that is needed for the
    unsafe_put_user() case.
    
    It's not a huge deal: a missed user_access_end() will only mean that
    SMAP protection isn't active afterwards, and for the error case we'll be
    returning to user mode soon enough anyway.  But it's wrong, and adding
    the proper user_access_end() is trivial enough (and doing it for the
    other error cases where it isn't needed doesn't hurt).
    
    I noticed it while doing the same prep-work for changing
    user_access_begin() that precipitated the access_ok() changes in commit
    96d4f267 ("Remove 'type' argument from access_ok() function").
    
    Fixes: fddcd00a ("drm/i915: Force the slow path after a user-write error")
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Cc: stable@kernel.org # v4.20
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    0b2c8f8b
i915_gem_execbuffer.c 70.3 KB