mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 20:51:44 +00:00
x86: use _ASM_EXTABLE macro in arch/x86/lib/usercopy_32.c
Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding __ex_table entires in arch/x86/lib/usercopy_32.c. 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
e7a40d268e
commit
2877744145
@ -48,10 +48,7 @@ do { \
|
|||||||
"3: movl %5,%0\n" \
|
"3: movl %5,%0\n" \
|
||||||
" jmp 2b\n" \
|
" jmp 2b\n" \
|
||||||
".previous\n" \
|
".previous\n" \
|
||||||
".section __ex_table,\"a\"\n" \
|
_ASM_EXTABLE(0b,3b) \
|
||||||
" .align 4\n" \
|
|
||||||
" .long 0b,3b\n" \
|
|
||||||
".previous" \
|
|
||||||
: "=d"(res), "=c"(count), "=&a" (__d0), "=&S" (__d1), \
|
: "=d"(res), "=c"(count), "=&a" (__d0), "=&S" (__d1), \
|
||||||
"=&D" (__d2) \
|
"=&D" (__d2) \
|
||||||
: "i"(-EFAULT), "0"(count), "1"(count), "3"(src), "4"(dst) \
|
: "i"(-EFAULT), "0"(count), "1"(count), "3"(src), "4"(dst) \
|
||||||
@ -132,11 +129,8 @@ do { \
|
|||||||
"3: lea 0(%2,%0,4),%0\n" \
|
"3: lea 0(%2,%0,4),%0\n" \
|
||||||
" jmp 2b\n" \
|
" jmp 2b\n" \
|
||||||
".previous\n" \
|
".previous\n" \
|
||||||
".section __ex_table,\"a\"\n" \
|
_ASM_EXTABLE(0b,3b) \
|
||||||
" .align 4\n" \
|
_ASM_EXTABLE(1b,2b) \
|
||||||
" .long 0b,3b\n" \
|
|
||||||
" .long 1b,2b\n" \
|
|
||||||
".previous" \
|
|
||||||
: "=&c"(size), "=&D" (__d0) \
|
: "=&c"(size), "=&D" (__d0) \
|
||||||
: "r"(size & 3), "0"(size / 4), "1"(addr), "a"(0)); \
|
: "r"(size & 3), "0"(size / 4), "1"(addr), "a"(0)); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
Loading…
Reference in New Issue
Block a user