From patchwork Mon Dec 18 08:23:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Tong Tiangen X-Patchwork-Id: 13496357 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 86012C35274 for ; Mon, 18 Dec 2023 08:24:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B53606B0087; Mon, 18 Dec 2023 03:24:25 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id ADB216B0088; Mon, 18 Dec 2023 03:24:25 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 92D536B0089; Mon, 18 Dec 2023 03:24:25 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 8479D6B0087 for ; Mon, 18 Dec 2023 03:24:25 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 244CBA1A49 for ; Mon, 18 Dec 2023 08:24:25 +0000 (UTC) X-FDA: 81579252090.16.33B1E3B Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by imf15.hostedemail.com (Postfix) with ESMTP id 1E737A0017 for ; Mon, 18 Dec 2023 08:24:21 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf15.hostedemail.com: domain of tongtiangen@huawei.com designates 45.249.212.255 as permitted sender) smtp.mailfrom=tongtiangen@huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1702887863; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rUA0KByKSj2M/ImPWOqT/QD3+/NhtHgDz1L0riih59w=; b=6zAS+6rB52jPFnv3Yr6DB/EARncC+dLyO9ZkwCazbBRT0vFp4LDXGySMS1IvpcOQaazRYy TnYc0Za8fyE6N1wt9St9dqbTVaX2I5y2aDv+gFIaN6aNmE7JC3U078Okmw+HKEOxXFhLg4 teDpwFvuYITRLE7GSgy6lWkUM23Kq4g= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf15.hostedemail.com: domain of tongtiangen@huawei.com designates 45.249.212.255 as permitted sender) smtp.mailfrom=tongtiangen@huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1702887863; a=rsa-sha256; cv=none; b=QKY9JTxxvxxUKduvin5UvdGG75CpYaLesGPAmYn4R+M1HN/5LSeBYqQh/N/KSzbm05i4kl egCA0HpjU2wgUKhXveIFV76jUsw0bpv6zBsuVSZgtaI4/J76g/bmdRV/ypdsgMyt+WOhv2 QZ+pPWV3GxnBw7zbNXNaWo5rerCSDZU= Received: from mail.maildlp.com (unknown [172.19.88.105]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4SttC80jgpz1Q6sp; Mon, 18 Dec 2023 16:24:04 +0800 (CST) Received: from kwepemm000017.china.huawei.com (unknown [7.193.23.46]) by mail.maildlp.com (Postfix) with ESMTPS id 33FC9140120; Mon, 18 Dec 2023 16:24:18 +0800 (CST) Received: from localhost.localdomain (10.175.112.125) by kwepemm000017.china.huawei.com (7.193.23.46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 18 Dec 2023 16:24:16 +0800 From: Tong Tiangen To: Thomas Gleixner , Ingo Molnar , Borislav Petkov , , Dave Hansen , , "H. Peter Anvin" , Tony Luck , Andy Lutomirski , Peter Zijlstra , Andrew Morton , Naoya Horiguchi CC: , , , Tong Tiangen , Guohanjun Subject: [PATCH -next v3 1/3] x86/mce: remove redundant fixup type EX_TYPE_COPY Date: Mon, 18 Dec 2023 16:23:58 +0800 Message-ID: <20231218082400.2694698-2-tongtiangen@huawei.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231218082400.2694698-1-tongtiangen@huawei.com> References: <20231218082400.2694698-1-tongtiangen@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.175.112.125] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To kwepemm000017.china.huawei.com (7.193.23.46) X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 1E737A0017 X-Stat-Signature: pypxa3zz4i9wdbxqo8xcpffgmx3i373f X-HE-Tag: 1702887861-59183 X-HE-Meta: U2FsdGVkX1+XFpVYZlQ16/kR5QvJX4g+etpXFKRwKZ0mghSsprXX2QTU2d36kgpca5xr8xQlgm7QLtlKIUW/6FrcdkTYTJzcdNvfLM0kMnxr/5+zd29hJF9Pjg8KfbVqviipKC33SNwCVGzdlRZYwyYx1XfS0LcmM7sbTmrF0j1SPvB6LhHS1xYVw+c3gVWrkfpfJfS7gjlVvOx9AUZOXizlDEhIc6uiz118ipWvB8rh9vT7pGjNB/233gfR4HqZUW8kuTFgUw14NrQAAGQmMZISWmkAewuai57v84HYrYE5QbgoEnvchaPKlh5Ad4A60oYQyoQ7tw4UpXW/YOumGNSirKaK6ipi2rxzTH38rzUmMObLAwgZvBOJwryWV+x5rQPZSmio0hCNXQhNN2Du7Tr1JV9rELOOKMPevI/f8nCEoZ5eXA7VRTrt+JclFx1X6JOxgIMV/i0ptHDDcL25IAISOJ23GYnltRxU7vpwiBp2+HWeNVfLmncpLAF/9gUD/dXq1QVz9tlP5hWsqn4nhBMpIFyXdrffwfqdhEW7EKibDGHMKy+n5xDdlqRGWEqz2VEH2rz1XIv4nMmwI5M23yKgVGeF5ptPugYzNli32scPjzqS/u7wXOEpDtmJhC/YiPPeUPmMMun5ZxdpQJOOdJ/ge3f4BlVQO40rJOTBo5tKOcUDLht+MHAiwh3cwe7kke0ZWugKsGcQ8ZYtGeZP5e/JgJo+QwaOQVe65qmyEjIYV6ZPQNTOEuv1hhaO7m3ozJ1V3EFeiHbiWYzpnYiZP8JJR0TP5AZY9vQG/ciVJKl1PhpKR2vcxG3SEBHmtCbVooPm6MVPiJUncEXoMslDXD9jsJhoq0qXwAd83eTTGEVc8RiZtBZ4S9CpeScXyqfjruTxCch71AFgH+AS2iLpKOw1lO9Zdeq91oRInT8ED3gOv+zS+HZVv0gn5c6JywnZYIomhLagTty7ygi2Yyk hiNEP4P6 zpB5Ken1DfFhjNTBc9Vo0UzTF+kRb4zYp25ToYDYFjHb2ZCm5v6IJQOHmEpPAuyi1LRGER7Xumf2H1ykwEA7y8yPd5IDjeyqKUAYi/EPHFXM92lTWyI1tRsRXjmeAsOYxKi5Cg3QgGnem6x6mkCfsIWRyNwDZruo+W1QFmg7fFXZEgkxeKRGZTN4TrtGzJTmfy8x12JeZ9j5Tzl8= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: 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 --- 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(-) 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 991e31cfde94..6126af55b85b 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: