diff options
author | H. Peter Anvin <hpa@linux.intel.com> | 2012-11-28 14:50:28 -0500 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2012-11-29 16:23:03 -0500 |
commit | a5c2a893dbd4956a72fb261e8790d19f67b52c99 (patch) | |
tree | 08ec40c9885f90b67fcf9a272ba675ff815d23ff /arch/x86/include | |
parent | 094ab1db7cb7833cd4c820acd868fc26acf3f08e (diff) |
x86, 386 removal: Remove CONFIG_X86_WP_WORKS_OK
All 486+ CPUs support WP in supervisor mode, so remove the fallback
386 support code.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Link: http://lkml.kernel.org/r/1354132230-21854-7-git-send-email-hpa@linux.intel.com
Diffstat (limited to 'arch/x86/include')
-rw-r--r-- | arch/x86/include/asm/uaccess.h | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/arch/x86/include/asm/uaccess.h b/arch/x86/include/asm/uaccess.h index 7ccf8d131535..1709801d18ec 100644 --- a/arch/x86/include/asm/uaccess.h +++ b/arch/x86/include/asm/uaccess.h | |||
@@ -237,8 +237,6 @@ extern void __put_user_2(void); | |||
237 | extern void __put_user_4(void); | 237 | extern void __put_user_4(void); |
238 | extern void __put_user_8(void); | 238 | extern void __put_user_8(void); |
239 | 239 | ||
240 | #ifdef CONFIG_X86_WP_WORKS_OK | ||
241 | |||
242 | /** | 240 | /** |
243 | * put_user: - Write a simple value into user space. | 241 | * put_user: - Write a simple value into user space. |
244 | * @x: Value to copy to user space. | 242 | * @x: Value to copy to user space. |
@@ -326,29 +324,6 @@ do { \ | |||
326 | } \ | 324 | } \ |
327 | } while (0) | 325 | } while (0) |
328 | 326 | ||
329 | #else | ||
330 | |||
331 | #define __put_user_size(x, ptr, size, retval, errret) \ | ||
332 | do { \ | ||
333 | __typeof__(*(ptr))__pus_tmp = x; \ | ||
334 | retval = 0; \ | ||
335 | \ | ||
336 | if (unlikely(__copy_to_user_ll(ptr, &__pus_tmp, size) != 0)) \ | ||
337 | retval = errret; \ | ||
338 | } while (0) | ||
339 | |||
340 | #define put_user(x, ptr) \ | ||
341 | ({ \ | ||
342 | int __ret_pu; \ | ||
343 | __typeof__(*(ptr))__pus_tmp = x; \ | ||
344 | __ret_pu = 0; \ | ||
345 | if (unlikely(__copy_to_user_ll(ptr, &__pus_tmp, \ | ||
346 | sizeof(*(ptr))) != 0)) \ | ||
347 | __ret_pu = -EFAULT; \ | ||
348 | __ret_pu; \ | ||
349 | }) | ||
350 | #endif | ||
351 | |||
352 | #ifdef CONFIG_X86_32 | 327 | #ifdef CONFIG_X86_32 |
353 | #define __get_user_asm_u64(x, ptr, retval, errret) (x) = __get_user_bad() | 328 | #define __get_user_asm_u64(x, ptr, retval, errret) (x) = __get_user_bad() |
354 | #define __get_user_asm_ex_u64(x, ptr) (x) = __get_user_bad() | 329 | #define __get_user_asm_ex_u64(x, ptr) (x) = __get_user_bad() |
@@ -543,29 +518,12 @@ struct __large_struct { unsigned long buf[100]; }; | |||
543 | (x) = (__force __typeof__(*(ptr)))__gue_val; \ | 518 | (x) = (__force __typeof__(*(ptr)))__gue_val; \ |
544 | } while (0) | 519 | } while (0) |
545 | 520 | ||
546 | #ifdef CONFIG_X86_WP_WORKS_OK | ||
547 | |||
548 | #define put_user_try uaccess_try | 521 | #define put_user_try uaccess_try |
549 | #define put_user_catch(err) uaccess_catch(err) | 522 | #define put_user_catch(err) uaccess_catch(err) |
550 | 523 | ||
551 | #define put_user_ex(x, ptr) \ | 524 | #define put_user_ex(x, ptr) \ |
552 | __put_user_size_ex((__typeof__(*(ptr)))(x), (ptr), sizeof(*(ptr))) | 525 | __put_user_size_ex((__typeof__(*(ptr)))(x), (ptr), sizeof(*(ptr))) |
553 | 526 | ||
554 | #else /* !CONFIG_X86_WP_WORKS_OK */ | ||
555 | |||
556 | #define put_user_try do { \ | ||
557 | int __uaccess_err = 0; | ||
558 | |||
559 | #define put_user_catch(err) \ | ||
560 | (err) |= __uaccess_err; \ | ||
561 | } while (0) | ||
562 | |||
563 | #define put_user_ex(x, ptr) do { \ | ||
564 | __uaccess_err |= __put_user(x, ptr); \ | ||
565 | } while (0) | ||
566 | |||
567 | #endif /* CONFIG_X86_WP_WORKS_OK */ | ||
568 | |||
569 | extern unsigned long | 527 | extern unsigned long |
570 | copy_from_user_nmi(void *to, const void __user *from, unsigned long n); | 528 | copy_from_user_nmi(void *to, const void __user *from, unsigned long n); |
571 | extern __must_check long | 529 | extern __must_check long |