Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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) <peterz@infradead.org>
Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
Link: https://lore.kernel.org/r/20211110101325.899657959@infradead.org

+3 -16
+3 -16
arch/x86/lib/checksum_32.S
··· 260 260 * Copy from ds while checksumming, otherwise like csum_partial 261 261 */ 262 262 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) 266 266 267 267 #ifndef CONFIG_X86_USE_PPRO_CHECKSUM 268 268 ··· 358 358 adcl $0, %eax 359 359 7: 360 360 361 - # Exception handler: 362 - .section .fixup, "ax" 363 - 364 - 6001: 365 - xorl %eax, %eax 366 - jmp 7b 367 - 368 - .previous 369 - 370 361 popl %ebx 371 362 popl %esi 372 363 popl %edi ··· 430 439 6: addl %edx, %eax 431 440 adcl $0, %eax 432 441 7: 433 - .section .fixup, "ax" 434 - 6001: xorl %eax, %eax 435 - jmp 7b 436 - .previous 437 442 438 443 popl %esi 439 444 popl %edi