• Mark Rutland's avatar
    arm64: uaccess: consistently check object sizes · 76624175
    Mark Rutland authored
    Currently in arm64's copy_{to,from}_user, we only check the
    source/destination object size if access_ok() tells us the user access
    is permissible.
    
    However, in copy_from_user() we'll subsequently zero any remainder on
    the destination object. If we failed the access_ok() check, that applies
    to the whole object size, which we didn't check.
    
    To ensure that we catch that case, this patch hoists check_object_size()
    to the start of copy_from_user(), matching __copy_from_user() and
    __copy_to_user(). To make all of our uaccess copy primitives consistent,
    the same is done to copy_to_user().
    
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Acked-by: default avatarKees Cook <keescook@chromium.org>
    Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    76624175
uaccess.h 11.2 KB