x86/uaccess: force copy_*_user() to be inlined
authorKees Cook <keescook@chromium.org>
Tue, 6 Sep 2016 18:56:01 +0000 (11:56 -0700)
committerKees Cook <keescook@chromium.org>
Tue, 6 Sep 2016 19:16:42 +0000 (12:16 -0700)
commite6971009a95a74f28c58bbae415c40effad1226c
tree3a58fac62cffea1cc0b535482f016b56cd609884
parent46738ab31fe668ea1d4413dd459af2632f6fef8d
x86/uaccess: force copy_*_user() to be inlined

As already done with __copy_*_user(), mark copy_*_user() as __always_inline.
Without this, the checks for things like __builtin_const_p() won't work
consistently in either hardened usercopy nor the recent adjustments for
detecting usercopy overflows at compile time.

The change in kernel text size is detectable, but very small:

 text      data     bss     dec      hex     filename
12118735  5768608 14229504 32116847 1ea106f vmlinux.before
12120207  5768608 14229504 32118319 1ea162f vmlinux.after

Signed-off-by: Kees Cook <keescook@chromium.org>
arch/x86/include/asm/uaccess.h