usercopy: force check_object_size() inline
authorKees Cook <keescook@chromium.org>
Wed, 7 Sep 2016 16:39:32 +0000 (09:39 -0700)
committerKees Cook <keescook@chromium.org>
Wed, 7 Sep 2016 18:33:26 +0000 (11:33 -0700)
Just for good measure, make sure that check_object_size() is always
inlined too, as already done for copy_*_user() and __copy_*_user().

Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
include/linux/thread_info.h

index 10c9e601398b55b8c5c5a3b6a736bc4c74afbc8e..2b5b10eed74ff52fc5b11fe911be7d84b08eda77 100644 (file)
@@ -118,8 +118,8 @@ static inline int arch_within_stack_frames(const void * const stack,
 extern void __check_object_size(const void *ptr, unsigned long n,
                                        bool to_user);
 
-static inline void check_object_size(const void *ptr, unsigned long n,
-                                    bool to_user)
+static __always_inline void check_object_size(const void *ptr, unsigned long n,
+                                             bool to_user)
 {
        if (!__builtin_constant_p(n))
                __check_object_size(ptr, n, to_user);