From mboxrd@z Thu Jan 1 00:00:00 1970 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 38597C02198 for ; Tue, 18 Feb 2025 13:02:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9C39C6B00EB; Tue, 18 Feb 2025 08:02:15 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9721A6B00EC; Tue, 18 Feb 2025 08:02:15 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8135B6B00ED; Tue, 18 Feb 2025 08:02:15 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 630806B00EB for ; Tue, 18 Feb 2025 08:02:15 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 2832816125F for ; Tue, 18 Feb 2025 13:02:13 +0000 (UTC) X-FDA: 83133078546.20.AED65E0 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf28.hostedemail.com (Postfix) with ESMTP id 3D754C0015 for ; Tue, 18 Feb 2025 13:02:09 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=qqliAwyT; dmarc=none; spf=none (imf28.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=peterz@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739883730; a=rsa-sha256; cv=none; b=EdpfLJpZzMwdRJAsakcHywEzugxgMolK3nK9TdBYavM7NgfyQRCo03hyo91XIqzJm4zNG5 rEmSQjctwQZJ4tZq7NBfAHCtpUtmnk/OPRp37t4y+UyZ/LJqdjvuPLeGj3lgPcOFd9Gu2c NckGMMcrVP5ZiVhVYxvYppy992UeM0Y= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=qqliAwyT; dmarc=none; spf=none (imf28.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=peterz@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739883730; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=esRoL3ov9D5pVObYEMuKxaYOWD0ZolLaLZj7ekAj/gI=; b=l+AGNIhCBQQh76xi/mG8IGenesHI3qpfCmDCyq7zQ9OgMjGqY3NL0o35tx1UYzN78gbKgG 4tE7y9a9/SefL4iNFBxf+EoHm6prw5V8eOT5yKgvDD4v9T2GPqpV2JUPEISM+rdQnM21ua KDZAIKX3cVCYzJEIhsI7+aIcUaVyv9M= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=esRoL3ov9D5pVObYEMuKxaYOWD0ZolLaLZj7ekAj/gI=; b=qqliAwyTPg4I4M1GIm6JZ/M4Iy /e82B8OeOs5AwEWec1TF/JLsgEPz9H+/wHsJ4DVkilUOOzt7JVZ3oWMJMaMoXmVLevDtiZ6USJNQV fMjV99+jfan1tMqjrH4myUmvCa8I7u40jV3WT5sM0dKSVEMWXECuL9MOwyP/ppD6A5Nic80zBwd1M VQZ02SBL4NoA6sqglTlEOYhuF3xhxX+cTYxyQTpX/BuNZxjmcJpzc+BcEp9auAEb/9yzwfTvkBAsl yYMyDE+1aa1rbQx3Lz/8lEQUa/iDJvoL2pbPMlr8R+tkQdhYTOy+Se7cuSUlMjvJIbsOFuJhI/++2 MP9WyxZQ==; Received: from 77-249-17-252.cable.dynamic.v4.ziggo.nl ([77.249.17.252] helo=noisy.programming.kicks-ass.net) by casper.infradead.org with esmtpsa (Exim 4.98 #2 (Red Hat Linux)) id 1tkNEg-00000002yXj-2p1f; Tue, 18 Feb 2025 13:02:02 +0000 Received: by noisy.programming.kicks-ass.net (Postfix, from userid 1000) id 31B3630066A; Tue, 18 Feb 2025 14:02:02 +0100 (CET) Date: Tue, 18 Feb 2025 14:02:02 +0100 From: Peter Zijlstra To: Shuai Xue Cc: tony.luck@intel.com, bp@alien8.de, nao.horiguchi@gmail.com, tglx@linutronix.de, mingo@redhat.com, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, linmiaohe@huawei.com, akpm@linux-foundation.org, jpoimboe@kernel.org, linux-edac@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, baolin.wang@linux.alibaba.com, tianruidong@linux.alibaba.com Subject: Re: [PATCH v2 3/5] x86/mce: add EX_TYPE_EFAULT_REG as in-kernel recovery context to fix copy-from-user operations regression Message-ID: <20250218130202.GG31462@noisy.programming.kicks-ass.net> References: <20250217063335.22257-1-xueshuai@linux.alibaba.com> <20250217063335.22257-4-xueshuai@linux.alibaba.com> <20250218125408.GD40464@noisy.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250218125408.GD40464@noisy.programming.kicks-ass.net> X-Rspam-User: X-Rspamd-Queue-Id: 3D754C0015 X-Rspamd-Server: rspam12 X-Stat-Signature: y83txkqkrct6iqrebqcpqt8fqhnaas7j X-HE-Tag: 1739883729-467705 X-HE-Meta: U2FsdGVkX19nvtMmqUzcMLXIXMTY2tLRPD4fIQqd92o8KHYQmLPy9VSQJ1h3+KZYs20k5thyFm3KjCVZacINFPsp726slSlj/mmg3GrrZfD9TnBBKw2+Q1wZAeIwOOGHs6qeQ42CzYYgR4/gcMMhv4iemFaPD26OHTU3uk489ZgPcbybxn4jhu3TQwp/nr/MBG6G20i85PcbB/yz004wtVFa/whwIV8QJUSRRgTFXpVC0eYMzRInZqMoFkJf8UmjZ2lU8xXMjJe0UztP9zhFiP+NbVGRjqO2oU79h+ha3sM9CEMR53GE1vFJpZZCP2BrTSESiRn+OiyNX2xkt1BDdKWt7FMarf7C518tJEOSFJS45uPGnrNM35xGK7DzlE1J5yCJAFzF/SUhbZ9LsPRfCPvg96bSTMkmE6camTgU2iv8WW/GVXtUvwllkIOcSuHEKFAkDgpsANIQaDisRNWLTQkvU7s33rOsNZsdJPvvxt6fuVUmXQoMmEcQbzteVLvwTFmjTSt4VmqYTmnzX3fBu20+MinVJpJ/eBG2vSUvsnBp4PDJ7wPM4/woG0VnuUrTFCTRoufRshOZO3n6HpVZD6ZE85AqtOnpVZ0Evuvy8zbKFXEjMzrp/QI5tNWx5e2DMlF3BNcdirFuiwpTdFyvxDslYOYYKYavXbf23FOdBT+xZgw2uFmYXRQCYCjz2tgPW99CA3P7ZHTDrV4nQS06zNpmwS+hsBhKOORygVdJ/mdmtQFmpco3N4J8NmgxnINZzRC/3xFJxzFNeS3889qwOi0Y1LhHHHsRnGPkrgfAAeCXShMhf5/Rd0TxnGWpLpaBMNqUeOehcrykeVpOSQei4j/cxfc9acicZ/T3ybqQJSVEVBlq7+07mpJgzOXFODev6FyO/q8h58j8jelN5nUs+u2jJ9gxIaquXZ8gay1HVpAlaapgv/11PRF+MRe9vhWk20n5rgP/APAEkBXrHWI 48y1KJum lKiAtlzd/CIkpq8k/m0DmkM7WYGvamkcB0Ds2eExOmoI0Ln+GMpg+NzcD+aM3odAh4gMeApGTrbbeEGvjzCyDXf+j3ZVGyiMicYi3QzjrdlUKyueIXsaBP5u7oXfvIqXhLQhFPa0n+ZuyZxE+dNTpXBihud+4rP/Z06A3t8OBrMUSXN+Uz9EPb2d2I41i8tC21Zw3+wD4aqdAEhYk8hyU1mqpviLlc9N6EXnaw2Y9TnHBnjt7eGGri2W1Guwn6afF0WV3H11uHqJd3RTvqMKYF8NHmRxRtF06k8ILqWbk6C7yyBh6Lx6Qm0d5GA== 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: On Tue, Feb 18, 2025 at 01:54:08PM +0100, Peter Zijlstra wrote: > --- > diff --git a/arch/x86/kernel/cpu/mce/severity.c b/arch/x86/kernel/cpu/mce/severity.c > index dac4d64dfb2a..cb021058165f 100644 > --- a/arch/x86/kernel/cpu/mce/severity.c > +++ b/arch/x86/kernel/cpu/mce/severity.c > @@ -300,13 +300,12 @@ static noinstr int error_context(struct mce *m, struct pt_regs *regs) > copy_user = is_copy_from_user(regs); > instrumentation_end(); > > - switch (fixup_type) { > - case EX_TYPE_UACCESS: > - if (!copy_user) > - return IN_KERNEL; > - m->kflags |= MCE_IN_KERNEL_COPYIN; > - fallthrough; > + if (copy_user) { > + m->kflags |= MCE_IN_KERNEL_COPYIN | MCE_IN_KERNEL_COPYIN; Typing is hard, obviously that second should'be been _RECOV. > + return IN_KERNEL_RECOV But why are we having that bit *and* a return value saying the same thing? > + } > > + switch (fixup_type) { > case EX_TYPE_FAULT_MCE_SAFE: > case EX_TYPE_DEFAULT_MCE_SAFE: > m->kflags |= MCE_IN_KERNEL_RECOV;