x86/extable: Remove unused fixup type EX_TYPE_COPY
authorTong Tiangen <tongtiangen@huawei.com>
Sun, 4 Feb 2024 08:26:25 +0000 (16:26 +0800)
committerBorislav Petkov (AMD) <bp@alien8.de>
Thu, 4 Apr 2024 15:01:40 +0000 (17:01 +0200)
After

  034ff37d3407 ("x86: rewrite '__copy_user_nocache' function")

rewrote __copy_user_nocache() to use EX_TYPE_UACCESS instead of the
EX_TYPE_COPY exception type, there are no more EX_TYPE_COPY users, so
remove it.

  [ bp: Massage commit message. ]

Signed-off-by: Tong Tiangen <tongtiangen@huawei.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20240204082627.3892816-2-tongtiangen@huawei.com
arch/x86/include/asm/asm.h
arch/x86/include/asm/extable_fixup_types.h
arch/x86/kernel/cpu/mce/severity.c
arch/x86/mm/extable.c

index ca8eed1d496ab4630fd65a98d491da491f23e35e..2bec0c89a95c2794cfe15133a9b098e62fe6ef76 100644 (file)
@@ -229,9 +229,6 @@ register unsigned long current_stack_pointer asm(_ASM_SP);
 #define _ASM_EXTABLE_UA(from, to)                              \
        _ASM_EXTABLE_TYPE(from, to, EX_TYPE_UACCESS)
 
-#define _ASM_EXTABLE_CPY(from, to)                             \
-       _ASM_EXTABLE_TYPE(from, to, EX_TYPE_COPY)
-
 #define _ASM_EXTABLE_FAULT(from, to)                           \
        _ASM_EXTABLE_TYPE(from, to, EX_TYPE_FAULT)
 
index 7acf0383be8022351c9dd1166b3b578a5626954c..906b0d5541e896fc4f24bd2306607e3a8838483d 100644 (file)
@@ -36,7 +36,7 @@
 #define        EX_TYPE_DEFAULT                  1
 #define        EX_TYPE_FAULT                    2
 #define        EX_TYPE_UACCESS                  3
-#define        EX_TYPE_COPY                     4
+/* unused, was: #define EX_TYPE_COPY    4 */
 #define        EX_TYPE_CLEAR_FS                 5
 #define        EX_TYPE_FPU_RESTORE              6
 #define        EX_TYPE_BPF                      7
index c4477162c07d134e977437d35251c506e4d1ee8b..bca780fa5e5777cfc11a2a163074799ddcb9af86 100644 (file)
@@ -290,7 +290,6 @@ static noinstr int error_context(struct mce *m, struct pt_regs *regs)
 
        switch (fixup_type) {
        case EX_TYPE_UACCESS:
-       case EX_TYPE_COPY:
                if (!copy_user)
                        return IN_KERNEL;
                m->kflags |= MCE_IN_KERNEL_COPYIN;
index b522933bfa56e8afeeba6816dc3ca782f7111d77..51986e8a9d353528cbee8186019a3ed8bc7823f2 100644 (file)
@@ -164,13 +164,6 @@ static bool ex_handler_uaccess(const struct exception_table_entry *fixup,
        return ex_handler_default(fixup, regs);
 }
 
-static bool ex_handler_copy(const struct exception_table_entry *fixup,
-                           struct pt_regs *regs, int trapnr)
-{
-       WARN_ONCE(trapnr == X86_TRAP_GP, "General protection fault in user access. Non-canonical address?");
-       return ex_handler_fault(fixup, regs, trapnr);
-}
-
 static bool ex_handler_msr(const struct exception_table_entry *fixup,
                           struct pt_regs *regs, bool wrmsr, bool safe, int reg)
 {
@@ -341,8 +334,6 @@ int fixup_exception(struct pt_regs *regs, int trapnr, unsigned long error_code,
                return ex_handler_fault(e, regs, trapnr);
        case EX_TYPE_UACCESS:
                return ex_handler_uaccess(e, regs, trapnr, fault_addr);
-       case EX_TYPE_COPY:
-               return ex_handler_copy(e, regs, trapnr);
        case EX_TYPE_CLEAR_FS:
                return ex_handler_clear_fs(e, regs);
        case EX_TYPE_FPU_RESTORE: