[tip: x86/core] x86/checksum_32: Remove .fixup usage

From: tip-bot2 for Peter Zijlstra
Date: Mon Dec 13 2021 - 04:55:10 EST


The following commit has been merged into the x86/core branch of tip:

Commit-ID: fedb24cda1ca5407e1965b261e349ea85d6c03dc
Gitweb: https://git.kernel.org/tip/fedb24cda1ca5407e1965b261e349ea85d6c03dc
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
AuthorDate: Wed, 10 Nov 2021 11:01:19 +01:00
Committer: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
CommitterDate: Sat, 11 Dec 2021 09:09:49 +01:00

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@xxxxxxxxxxxxx>
Reviewed-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
Link: https://lore.kernel.org/r/20211110101325.899657959@xxxxxxxxxxxxx
---
arch/x86/lib/checksum_32.S | 19 +++----------------
1 file changed, 3 insertions(+), 16 deletions(-)

diff --git a/arch/x86/lib/checksum_32.S b/arch/x86/lib/checksum_32.S
index 929ad17..23318c3 100644
--- a/arch/x86/lib/checksum_32.S
+++ b/arch/x86/lib/checksum_32.S
@@ -260,9 +260,9 @@ unsigned int csum_partial_copy_generic (const char *src, char *dst,
* Copy from ds while checksumming, otherwise like csum_partial
*/

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

#ifndef CONFIG_X86_USE_PPRO_CHECKSUM

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

-# Exception handler:
-.section .fixup, "ax"
-
-6001:
- xorl %eax, %eax
- jmp 7b
-
-.previous
-
popl %ebx
popl %esi
popl %edi
@@ -439,10 +430,6 @@ EXC( movb %dl, (%edi) )
6: addl %edx, %eax
adcl $0, %eax
7:
-.section .fixup, "ax"
-6001: xorl %eax, %eax
- jmp 7b
-.previous

popl %esi
popl %edi