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
1 changed files with 5 additions and 13 deletions
|
@ -8,6 +8,7 @@
|
||||||
#include <linux/thread_info.h>
|
#include <linux/thread_info.h>
|
||||||
#include <linux/prefetch.h>
|
#include <linux/prefetch.h>
|
||||||
#include <linux/string.h>
|
#include <linux/string.h>
|
||||||
|
#include <asm/asm.h>
|
||||||
#include <asm/page.h>
|
#include <asm/page.h>
|
||||||
|
|
||||||
#define VERIFY_READ 0
|
#define VERIFY_READ 0
|
||||||
|
@ -287,11 +288,8 @@ extern void __put_user_8(void);
|
||||||
"4: movl %3,%0\n" \
|
"4: movl %3,%0\n" \
|
||||||
" jmp 3b\n" \
|
" jmp 3b\n" \
|
||||||
".previous\n" \
|
".previous\n" \
|
||||||
".section __ex_table,\"a\"\n" \
|
_ASM_EXTABLE(1b,4b) \
|
||||||
" .align 4\n" \
|
_ASM_EXTABLE(2b,4b) \
|
||||||
" .long 1b,4b\n" \
|
|
||||||
" .long 2b,4b\n" \
|
|
||||||
".previous" \
|
|
||||||
: "=r"(err) \
|
: "=r"(err) \
|
||||||
: "A" (x), "r" (addr), "i"(-EFAULT), "0"(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" \
|
"3: movl %3,%0\n" \
|
||||||
" jmp 2b\n" \
|
" jmp 2b\n" \
|
||||||
".previous\n" \
|
".previous\n" \
|
||||||
".section __ex_table,\"a\"\n" \
|
_ASM_EXTABLE(1b,3b) \
|
||||||
" .align 4\n" \
|
|
||||||
" .long 1b,3b\n" \
|
|
||||||
".previous" \
|
|
||||||
: "=r"(err) \
|
: "=r"(err) \
|
||||||
: ltype (x), "m"(__m(addr)), "i"(errret), "0"(err))
|
: ltype (x), "m"(__m(addr)), "i"(errret), "0"(err))
|
||||||
|
|
||||||
|
@ -378,10 +373,7 @@ do { \
|
||||||
" xor"itype" %"rtype"1,%"rtype"1\n" \
|
" xor"itype" %"rtype"1,%"rtype"1\n" \
|
||||||
" jmp 2b\n" \
|
" jmp 2b\n" \
|
||||||
".previous\n" \
|
".previous\n" \
|
||||||
".section __ex_table,\"a\"\n" \
|
_ASM_EXTABLE(1b,3b) \
|
||||||
" .align 4\n" \
|
|
||||||
" .long 1b,3b\n" \
|
|
||||||
".previous" \
|
|
||||||
: "=r"(err), ltype (x) \
|
: "=r"(err), ltype (x) \
|
||||||
: "m"(__m(addr)), "i"(errret), "0"(err))
|
: "m"(__m(addr)), "i"(errret), "0"(err))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue