Message ID | 20220528065056.1034168-5-tongtiangen@huawei.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | arm64: add machine check safe support | expand |
On Sat, May 28, 2022 at 06:50:52AM +0000, Tong Tiangen wrote: > Currently, extable type EX_TYPE_FIXUP is no place to use, We can safely > remove it. > > Suggested-by: Mark Rutland <mark.rutland@arm.com> > Signed-off-by: Tong Tiangen <tongtiangen@huawei.com> Acked-by: Mark Rutland <mark.rutland@arm.com> Mark. > --- > arch/arm64/include/asm/asm-extable.h | 20 ++++---------------- > arch/arm64/mm/extable.c | 9 --------- > 2 files changed, 4 insertions(+), 25 deletions(-) > > diff --git a/arch/arm64/include/asm/asm-extable.h b/arch/arm64/include/asm/asm-extable.h > index d01bd94cc4c2..1f2974467273 100644 > --- a/arch/arm64/include/asm/asm-extable.h > +++ b/arch/arm64/include/asm/asm-extable.h > @@ -3,11 +3,10 @@ > #define __ASM_ASM_EXTABLE_H > > #define EX_TYPE_NONE 0 > -#define EX_TYPE_FIXUP 1 > -#define EX_TYPE_BPF 2 > -#define EX_TYPE_UACCESS_ERR_ZERO 3 > -#define EX_TYPE_LOAD_UNALIGNED_ZEROPAD 4 > -#define EX_TYPE_KACCESS_ERR_ZERO 5 > +#define EX_TYPE_BPF 1 > +#define EX_TYPE_UACCESS_ERR_ZERO 2 > +#define EX_TYPE_LOAD_UNALIGNED_ZEROPAD 3 > +#define EX_TYPE_KACCESS_ERR_ZERO 4 > > #ifdef __ASSEMBLY__ > > @@ -20,14 +19,6 @@ > .short (data); \ > .popsection; > > -/* > - * Create an exception table entry for `insn`, which will branch to `fixup` > - * when an unhandled fault is taken. > - */ > - .macro _asm_extable, insn, fixup > - __ASM_EXTABLE_RAW(\insn, \fixup, EX_TYPE_FIXUP, 0) > - .endm > - > /* > * Create an exception table entry for uaccess `insn`, which will branch to `fixup` > * when an unhandled fault is taken. > @@ -62,9 +53,6 @@ > ".short (" data ")\n" \ > ".popsection\n" > > -#define _ASM_EXTABLE(insn, fixup) \ > - __ASM_EXTABLE_RAW(#insn, #fixup, __stringify(EX_TYPE_FIXUP), "0") > - > #define EX_DATA_REG_ERR_SHIFT 0 > #define EX_DATA_REG_ERR GENMASK(4, 0) > #define EX_DATA_REG_ZERO_SHIFT 5 > diff --git a/arch/arm64/mm/extable.c b/arch/arm64/mm/extable.c > index 056591e5ca80..228d681a8715 100644 > --- a/arch/arm64/mm/extable.c > +++ b/arch/arm64/mm/extable.c > @@ -16,13 +16,6 @@ get_ex_fixup(const struct exception_table_entry *ex) > return ((unsigned long)&ex->fixup + ex->fixup); > } > > -static bool ex_handler_fixup(const struct exception_table_entry *ex, > - struct pt_regs *regs) > -{ > - regs->pc = get_ex_fixup(ex); > - return true; > -} > - > static bool ex_handler_uaccess_err_zero(const struct exception_table_entry *ex, > struct pt_regs *regs) > { > @@ -72,8 +65,6 @@ bool fixup_exception(struct pt_regs *regs) > return false; > > switch (ex->type) { > - case EX_TYPE_FIXUP: > - return ex_handler_fixup(ex, regs); > case EX_TYPE_BPF: > return ex_handler_bpf(ex, regs); > case EX_TYPE_UACCESS_ERR_ZERO: > -- > 2.25.1 >
diff --git a/arch/arm64/include/asm/asm-extable.h b/arch/arm64/include/asm/asm-extable.h index d01bd94cc4c2..1f2974467273 100644 --- a/arch/arm64/include/asm/asm-extable.h +++ b/arch/arm64/include/asm/asm-extable.h @@ -3,11 +3,10 @@ #define __ASM_ASM_EXTABLE_H #define EX_TYPE_NONE 0 -#define EX_TYPE_FIXUP 1 -#define EX_TYPE_BPF 2 -#define EX_TYPE_UACCESS_ERR_ZERO 3 -#define EX_TYPE_LOAD_UNALIGNED_ZEROPAD 4 -#define EX_TYPE_KACCESS_ERR_ZERO 5 +#define EX_TYPE_BPF 1 +#define EX_TYPE_UACCESS_ERR_ZERO 2 +#define EX_TYPE_LOAD_UNALIGNED_ZEROPAD 3 +#define EX_TYPE_KACCESS_ERR_ZERO 4 #ifdef __ASSEMBLY__ @@ -20,14 +19,6 @@ .short (data); \ .popsection; -/* - * Create an exception table entry for `insn`, which will branch to `fixup` - * when an unhandled fault is taken. - */ - .macro _asm_extable, insn, fixup - __ASM_EXTABLE_RAW(\insn, \fixup, EX_TYPE_FIXUP, 0) - .endm - /* * Create an exception table entry for uaccess `insn`, which will branch to `fixup` * when an unhandled fault is taken. @@ -62,9 +53,6 @@ ".short (" data ")\n" \ ".popsection\n" -#define _ASM_EXTABLE(insn, fixup) \ - __ASM_EXTABLE_RAW(#insn, #fixup, __stringify(EX_TYPE_FIXUP), "0") - #define EX_DATA_REG_ERR_SHIFT 0 #define EX_DATA_REG_ERR GENMASK(4, 0) #define EX_DATA_REG_ZERO_SHIFT 5 diff --git a/arch/arm64/mm/extable.c b/arch/arm64/mm/extable.c index 056591e5ca80..228d681a8715 100644 --- a/arch/arm64/mm/extable.c +++ b/arch/arm64/mm/extable.c @@ -16,13 +16,6 @@ get_ex_fixup(const struct exception_table_entry *ex) return ((unsigned long)&ex->fixup + ex->fixup); } -static bool ex_handler_fixup(const struct exception_table_entry *ex, - struct pt_regs *regs) -{ - regs->pc = get_ex_fixup(ex); - return true; -} - static bool ex_handler_uaccess_err_zero(const struct exception_table_entry *ex, struct pt_regs *regs) { @@ -72,8 +65,6 @@ bool fixup_exception(struct pt_regs *regs) return false; switch (ex->type) { - case EX_TYPE_FIXUP: - return ex_handler_fixup(ex, regs); case EX_TYPE_BPF: return ex_handler_bpf(ex, regs); case EX_TYPE_UACCESS_ERR_ZERO:
Currently, extable type EX_TYPE_FIXUP is no place to use, We can safely remove it. Suggested-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Tong Tiangen <tongtiangen@huawei.com> --- arch/arm64/include/asm/asm-extable.h | 20 ++++---------------- arch/arm64/mm/extable.c | 9 --------- 2 files changed, 4 insertions(+), 25 deletions(-)