mirror of https://gitee.com/openkylin/linux.git
x86: use _ASM_EXTABLE macro in include/asm-x86/uaccess_32.h
Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding __ex_table entires in include/asm-x86/uaccess_32.h. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
88976ee187
commit
14e6d17d68
|
@ -8,6 +8,7 @@
|
|||
#include <linux/thread_info.h>
|
||||
#include <linux/prefetch.h>
|
||||
#include <linux/string.h>
|
||||
#include <asm/asm.h>
|
||||
#include <asm/page.h>
|
||||
|
||||
#define VERIFY_READ 0
|
||||
|
@ -287,11 +288,8 @@ extern void __put_user_8(void);
|
|||
"4: movl %3,%0\n" \
|
||||
" jmp 3b\n" \
|
||||
".previous\n" \
|
||||
".section __ex_table,\"a\"\n" \
|
||||
" .align 4\n" \
|
||||
" .long 1b,4b\n" \
|
||||
" .long 2b,4b\n" \
|
||||
".previous" \
|
||||
_ASM_EXTABLE(1b,4b) \
|
||||
_ASM_EXTABLE(2b,4b) \
|
||||
: "=r"(err) \
|
||||
: "A" (x), "r" (addr), "i"(-EFAULT), "0"(err))
|
||||
|
||||
|
@ -338,10 +336,7 @@ struct __large_struct { unsigned long buf[100]; };
|
|||
"3: movl %3,%0\n" \
|
||||
" jmp 2b\n" \
|
||||
".previous\n" \
|
||||
".section __ex_table,\"a\"\n" \
|
||||
" .align 4\n" \
|
||||
" .long 1b,3b\n" \
|
||||
".previous" \
|
||||
_ASM_EXTABLE(1b,3b) \
|
||||
: "=r"(err) \
|
||||
: ltype (x), "m"(__m(addr)), "i"(errret), "0"(err))
|
||||
|
||||
|
@ -378,10 +373,7 @@ do { \
|
|||
" xor"itype" %"rtype"1,%"rtype"1\n" \
|
||||
" jmp 2b\n" \
|
||||
".previous\n" \
|
||||
".section __ex_table,\"a\"\n" \
|
||||
" .align 4\n" \
|
||||
" .long 1b,3b\n" \
|
||||
".previous" \
|
||||
_ASM_EXTABLE(1b,3b) \
|
||||
: "=r"(err), ltype (x) \
|
||||
: "m"(__m(addr)), "i"(errret), "0"(err))
|
||||
|
||||
|
|
Loading…
Reference in New Issue