Skip to content

Commit fedb24c

Browse files
author
Peter Zijlstra
committed
x86/checksum_32: Remove .fixup usage
Simply add EX_FLAG_CLEAR_AX to do as the .fixup used to do. Signed-off-by: Peter Zijlstra (Intel) <[email protected]> Reviewed-by: Josh Poimboeuf <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent 3e8ea78 commit fedb24c

File tree

1 file changed

+3
-16
lines changed

1 file changed

+3
-16
lines changed

arch/x86/lib/checksum_32.S

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -260,9 +260,9 @@ unsigned int csum_partial_copy_generic (const char *src, char *dst,
260260
* Copy from ds while checksumming, otherwise like csum_partial
261261
*/
262262

263-
#define EXC(y...) \
264-
9999: y; \
265-
_ASM_EXTABLE_UA(9999b, 6001f)
263+
#define EXC(y...) \
264+
9999: y; \
265+
_ASM_EXTABLE_TYPE(9999b, 7f, EX_TYPE_UACCESS | EX_FLAG_CLEAR_AX)
266266

267267
#ifndef CONFIG_X86_USE_PPRO_CHECKSUM
268268

@@ -358,15 +358,6 @@ EXC( movb %cl, (%edi) )
358358
adcl $0, %eax
359359
7:
360360

361-
# Exception handler:
362-
.section .fixup, "ax"
363-
364-
6001:
365-
xorl %eax, %eax
366-
jmp 7b
367-
368-
.previous
369-
370361
popl %ebx
371362
popl %esi
372363
popl %edi
@@ -439,10 +430,6 @@ EXC( movb %dl, (%edi) )
439430
6: addl %edx, %eax
440431
adcl $0, %eax
441432
7:
442-
.section .fixup, "ax"
443-
6001: xorl %eax, %eax
444-
jmp 7b
445-
.previous
446433

447434
popl %esi
448435
popl %edi

0 commit comments

Comments
 (0)