• Linus Torvalds's avatar
    x86: Make __get_user() generate an out-of-line call · ea6f043f
    Linus Torvalds authored
    Instead of inlining the whole stac/lfence/mov/clac sequence (which also
    requires individual exception table entries and several asm instruction
    alternatives entries), just generate "call __get_user_nocheck_X" for the
    __get_user() cases.
    
    We can use all the same infrastructure that we already do for the
    regular "get_user()", and the end result is simpler source code, and
    much simpler code generation.
    
    It also means that when I introduce asm goto with input for
    "unsafe_get_user()", there are no nasty interactions with the
    __get_user() code.
    
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    ea6f043f
uaccess.h 15.9 KB