Message ID | 20240111135548.3207437-2-tongtiangen@huawei.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | minor improvements for x86 mce processing | expand |
On Thu, Jan 11, 2024 at 09:55:46PM +0800, Tong Tiangen wrote: > In commit 034ff37d3407 ("x86: rewrite '__copy_user_nocache' function"), > rewrited __copy_user_nocache() uses EX_TYPE_UACCESS instead of > EX_TYPE_COPY,this change does not broken the MC safe copy for > __copy_user_nocache(), but as a result, there's no place for EX_TYPE_COPY > to use. Therefore, we remove the definition of EX_TYPE_COPY. Please use passive voice in your commit message: no "we" or "I", etc, and describe your changes in imperative mood. Also, pls read section "2) Describe your changes" in Documentation/process/submitting-patches.rst for more details. Also, see section "Changelog" in Documentation/process/maintainer-tip.rst > diff --git a/arch/x86/include/asm/extable_fixup_types.h b/arch/x86/include/asm/extable_fixup_types.h > index fe6312045042..787916ec1e12 100644 > --- a/arch/x86/include/asm/extable_fixup_types.h > +++ b/arch/x86/include/asm/extable_fixup_types.h > @@ -36,18 +36,17 @@ > #define EX_TYPE_DEFAULT 1 > #define EX_TYPE_FAULT 2 > #define EX_TYPE_UACCESS 3 > -#define EX_TYPE_COPY 4 > -#define EX_TYPE_CLEAR_FS 5 > -#define EX_TYPE_FPU_RESTORE 6 > -#define EX_TYPE_BPF 7 > -#define EX_TYPE_WRMSR 8 > -#define EX_TYPE_RDMSR 9 > -#define EX_TYPE_WRMSR_SAFE 10 /* reg := -EIO */ > -#define EX_TYPE_RDMSR_SAFE 11 /* reg := -EIO */ > -#define EX_TYPE_WRMSR_IN_MCE 12 > -#define EX_TYPE_RDMSR_IN_MCE 13 > -#define EX_TYPE_DEFAULT_MCE_SAFE 14 > -#define EX_TYPE_FAULT_MCE_SAFE 15 > +#define EX_TYPE_CLEAR_FS 4 > +#define EX_TYPE_FPU_RESTORE 5 > +#define EX_TYPE_BPF 6 > +#define EX_TYPE_WRMSR 7 > +#define EX_TYPE_RDMSR 8 > +#define EX_TYPE_WRMSR_SAFE 9 /* reg := -EIO */ > +#define EX_TYPE_RDMSR_SAFE 10 /* reg := -EIO */ > +#define EX_TYPE_WRMSR_IN_MCE 11 > +#define EX_TYPE_RDMSR_IN_MCE 12 > +#define EX_TYPE_DEFAULT_MCE_SAFE 13 > +#define EX_TYPE_FAULT_MCE_SAFE 14 You don't need to renumber them - all you need to do is to comment it out: /* unused, was: #define EX_TYPE_COPY 4 */
在 2024/1/31 5:09, Borislav Petkov 写道: > On Thu, Jan 11, 2024 at 09:55:46PM +0800, Tong Tiangen wrote: >> In commit 034ff37d3407 ("x86: rewrite '__copy_user_nocache' function"), >> rewrited __copy_user_nocache() uses EX_TYPE_UACCESS instead of >> EX_TYPE_COPY,this change does not broken the MC safe copy for >> __copy_user_nocache(), but as a result, there's no place for EX_TYPE_COPY >> to use. Therefore, we remove the definition of EX_TYPE_COPY. > > Please use passive voice in your commit message: no "we" or "I", etc, > and describe your changes in imperative mood. > > Also, pls read section "2) Describe your changes" in > Documentation/process/submitting-patches.rst for more details. > > Also, see section "Changelog" in > Documentation/process/maintainer-tip.rst OK, thanks, Improved in the next release. > >> diff --git a/arch/x86/include/asm/extable_fixup_types.h b/arch/x86/include/asm/extable_fixup_types.h >> index fe6312045042..787916ec1e12 100644 >> --- a/arch/x86/include/asm/extable_fixup_types.h >> +++ b/arch/x86/include/asm/extable_fixup_types.h >> @@ -36,18 +36,17 @@ >> #define EX_TYPE_DEFAULT 1 >> #define EX_TYPE_FAULT 2 >> #define EX_TYPE_UACCESS 3 >> -#define EX_TYPE_COPY 4 >> -#define EX_TYPE_CLEAR_FS 5 >> -#define EX_TYPE_FPU_RESTORE 6 >> -#define EX_TYPE_BPF 7 >> -#define EX_TYPE_WRMSR 8 >> -#define EX_TYPE_RDMSR 9 >> -#define EX_TYPE_WRMSR_SAFE 10 /* reg := -EIO */ >> -#define EX_TYPE_RDMSR_SAFE 11 /* reg := -EIO */ >> -#define EX_TYPE_WRMSR_IN_MCE 12 >> -#define EX_TYPE_RDMSR_IN_MCE 13 >> -#define EX_TYPE_DEFAULT_MCE_SAFE 14 >> -#define EX_TYPE_FAULT_MCE_SAFE 15 >> +#define EX_TYPE_CLEAR_FS 4 >> +#define EX_TYPE_FPU_RESTORE 5 >> +#define EX_TYPE_BPF 6 >> +#define EX_TYPE_WRMSR 7 >> +#define EX_TYPE_RDMSR 8 >> +#define EX_TYPE_WRMSR_SAFE 9 /* reg := -EIO */ >> +#define EX_TYPE_RDMSR_SAFE 10 /* reg := -EIO */ >> +#define EX_TYPE_WRMSR_IN_MCE 11 >> +#define EX_TYPE_RDMSR_IN_MCE 12 >> +#define EX_TYPE_DEFAULT_MCE_SAFE 13 >> +#define EX_TYPE_FAULT_MCE_SAFE 14 > > You don't need to renumber them - all you need to do is to comment it > out: > > /* unused, was: #define EX_TYPE_COPY 4 */ OK. Thanks. Tong. >
在 2024/1/31 5:09, Borislav Petkov 写道: > On Thu, Jan 11, 2024 at 09:55:46PM +0800, Tong Tiangen wrote: >> In commit 034ff37d3407 ("x86: rewrite '__copy_user_nocache' function"), >> rewrited __copy_user_nocache() uses EX_TYPE_UACCESS instead of >> EX_TYPE_COPY,this change does not broken the MC safe copy for >> __copy_user_nocache(), but as a result, there's no place for EX_TYPE_COPY >> to use. Therefore, we remove the definition of EX_TYPE_COPY. > > Please use passive voice in your commit message: no "we" or "I", etc, > and describe your changes in imperative mood. > > Also, pls read section "2) Describe your changes" in > Documentation/process/submitting-patches.rst for more details. > > Also, see section "Changelog" in > Documentation/process/maintainer-tip.rst Hi Borislav: how about this commit msg change? Since commit 034ff37d3407 ("x86: rewrite '__copy_user_nocache' function") rewrited __copy_user_nocache() uses EX_TYPE_UACCESS instead of EX_TYPE_COPY,there is no user for EX_TYPE_COPY,so remove it. Thanks. Tong. > >> diff --git a/arch/x86/include/asm/extable_fixup_types.h b/arch/x86/include/asm/extable_fixup_types.h >> index fe6312045042..787916ec1e12 100644 >> --- a/arch/x86/include/asm/extable_fixup_types.h >> +++ b/arch/x86/include/asm/extable_fixup_types.h >> @@ -36,18 +36,17 @@ >> #define EX_TYPE_DEFAULT 1 >> #define EX_TYPE_FAULT 2 >> #define EX_TYPE_UACCESS 3 >> -#define EX_TYPE_COPY 4 >> -#define EX_TYPE_CLEAR_FS 5 >> -#define EX_TYPE_FPU_RESTORE 6 >> -#define EX_TYPE_BPF 7 >> -#define EX_TYPE_WRMSR 8 >> -#define EX_TYPE_RDMSR 9 >> -#define EX_TYPE_WRMSR_SAFE 10 /* reg := -EIO */ >> -#define EX_TYPE_RDMSR_SAFE 11 /* reg := -EIO */ >> -#define EX_TYPE_WRMSR_IN_MCE 12 >> -#define EX_TYPE_RDMSR_IN_MCE 13 >> -#define EX_TYPE_DEFAULT_MCE_SAFE 14 >> -#define EX_TYPE_FAULT_MCE_SAFE 15 >> +#define EX_TYPE_CLEAR_FS 4 >> +#define EX_TYPE_FPU_RESTORE 5 >> +#define EX_TYPE_BPF 6 >> +#define EX_TYPE_WRMSR 7 >> +#define EX_TYPE_RDMSR 8 >> +#define EX_TYPE_WRMSR_SAFE 9 /* reg := -EIO */ >> +#define EX_TYPE_RDMSR_SAFE 10 /* reg := -EIO */ >> +#define EX_TYPE_WRMSR_IN_MCE 11 >> +#define EX_TYPE_RDMSR_IN_MCE 12 >> +#define EX_TYPE_DEFAULT_MCE_SAFE 13 >> +#define EX_TYPE_FAULT_MCE_SAFE 14 > > You don't need to renumber them - all you need to do is to comment it > out: > > /* unused, was: #define EX_TYPE_COPY 4 */ >
diff --git a/arch/x86/include/asm/asm.h b/arch/x86/include/asm/asm.h index fbcfec4dc4cc..692409ea0c37 100644 --- a/arch/x86/include/asm/asm.h +++ b/arch/x86/include/asm/asm.h @@ -215,9 +215,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) diff --git a/arch/x86/include/asm/extable_fixup_types.h b/arch/x86/include/asm/extable_fixup_types.h index fe6312045042..787916ec1e12 100644 --- a/arch/x86/include/asm/extable_fixup_types.h +++ b/arch/x86/include/asm/extable_fixup_types.h @@ -36,18 +36,17 @@ #define EX_TYPE_DEFAULT 1 #define EX_TYPE_FAULT 2 #define EX_TYPE_UACCESS 3 -#define EX_TYPE_COPY 4 -#define EX_TYPE_CLEAR_FS 5 -#define EX_TYPE_FPU_RESTORE 6 -#define EX_TYPE_BPF 7 -#define EX_TYPE_WRMSR 8 -#define EX_TYPE_RDMSR 9 -#define EX_TYPE_WRMSR_SAFE 10 /* reg := -EIO */ -#define EX_TYPE_RDMSR_SAFE 11 /* reg := -EIO */ -#define EX_TYPE_WRMSR_IN_MCE 12 -#define EX_TYPE_RDMSR_IN_MCE 13 -#define EX_TYPE_DEFAULT_MCE_SAFE 14 -#define EX_TYPE_FAULT_MCE_SAFE 15 +#define EX_TYPE_CLEAR_FS 4 +#define EX_TYPE_FPU_RESTORE 5 +#define EX_TYPE_BPF 6 +#define EX_TYPE_WRMSR 7 +#define EX_TYPE_RDMSR 8 +#define EX_TYPE_WRMSR_SAFE 9 /* reg := -EIO */ +#define EX_TYPE_RDMSR_SAFE 10 /* reg := -EIO */ +#define EX_TYPE_WRMSR_IN_MCE 11 +#define EX_TYPE_RDMSR_IN_MCE 12 +#define EX_TYPE_DEFAULT_MCE_SAFE 13 +#define EX_TYPE_FAULT_MCE_SAFE 14 #define EX_TYPE_POP_REG 16 /* sp += sizeof(long) */ #define EX_TYPE_POP_ZERO (EX_TYPE_POP_REG | EX_DATA_IMM(0)) diff --git a/arch/x86/kernel/cpu/mce/severity.c b/arch/x86/kernel/cpu/mce/severity.c index c4477162c07d..bca780fa5e57 100644 --- a/arch/x86/kernel/cpu/mce/severity.c +++ b/arch/x86/kernel/cpu/mce/severity.c @@ -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; diff --git a/arch/x86/mm/extable.c b/arch/x86/mm/extable.c index 271dcb2deabc..2354c0156e51 100644 --- a/arch/x86/mm/extable.c +++ b/arch/x86/mm/extable.c @@ -163,13 +163,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) { @@ -267,8 +260,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:
In commit 034ff37d3407 ("x86: rewrite '__copy_user_nocache' function"), rewrited __copy_user_nocache() uses EX_TYPE_UACCESS instead of EX_TYPE_COPY,this change does not broken the MC safe copy for __copy_user_nocache(), but as a result, there's no place for EX_TYPE_COPY to use. Therefore, we remove the definition of EX_TYPE_COPY. Signed-off-by: Tong Tiangen <tongtiangen@huawei.com> --- arch/x86/include/asm/asm.h | 3 --- arch/x86/include/asm/extable_fixup_types.h | 23 +++++++++++----------- arch/x86/kernel/cpu/mce/severity.c | 1 - arch/x86/mm/extable.c | 9 --------- 4 files changed, 11 insertions(+), 25 deletions(-)