diff options
| author | Peter Zijlstra <[email protected]> | 2019-04-24 07:19:25 +0000 |
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2019-04-24 10:19:45 +0000 |
| commit | 29da93fea3ea39ab9b12270cc6be1b70ef201c9e (patch) | |
| tree | 1d5dd50a2abb3145a22d6a398cafad8f9067de90 /arch/x86/include/asm/xen/hypercall.h | |
| parent | x86/uaccess: Dont leak the AC flag into __put_user() argument evaluation (diff) | |
| download | kernel-29da93fea3ea39ab9b12270cc6be1b70ef201c9e.tar.gz kernel-29da93fea3ea39ab9b12270cc6be1b70ef201c9e.zip | |
mm/uaccess: Use 'unsigned long' to placate UBSAN warnings on older GCC versions
Randy reported objtool triggered on his (GCC-7.4) build:
lib/strncpy_from_user.o: warning: objtool: strncpy_from_user()+0x315: call to __ubsan_handle_add_overflow() with UACCESS enabled
lib/strnlen_user.o: warning: objtool: strnlen_user()+0x337: call to __ubsan_handle_sub_overflow() with UACCESS enabled
This is due to UBSAN generating signed-overflow-UB warnings where it
should not. Prior to GCC-8 UBSAN ignored -fwrapv (which the kernel
uses through -fno-strict-overflow).
Make the functions use 'unsigned long' throughout.
Reported-by: Randy Dunlap <[email protected]>
Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
Acked-by: Randy Dunlap <[email protected]> # build-tested
Acked-by: Linus Torvalds <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: [email protected]
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'arch/x86/include/asm/xen/hypercall.h')
0 files changed, 0 insertions, 0 deletions
