Re: [PATCH -next v5 4/8] arm64: extable: cleanup redundant extable type EX_TYPE_FIXUP

From: Mark Rutland
Date: Fri Jun 17 2022 - 04:44:00 EST


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@xxxxxxx>
> Signed-off-by: Tong Tiangen <tongtiangen@xxxxxxxxxx>

Acked-by: Mark Rutland <mark.rutland@xxxxxxx>

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
>