From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751445AbdISOHa (ORCPT ); Tue, 19 Sep 2017 10:07:30 -0400 Received: from mail-bl2nam02on0081.outbound.protection.outlook.com ([104.47.38.81]:43168 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750973AbdISOH1 (ORCPT ); Tue, 19 Sep 2017 10:07:27 -0400 From: Yazen Ghannam To: linux-edac@vger.kernel.org Cc: Borislav Petkov , Tony Luck , x86@kernel.org, linux-kernel@vger.kernel.org, Yazen Ghannam , "# v4 . 9 . ." Subject: [PATCH] x86/MCE/AMD: Always give PANIC severity for UC errors in kernel context Date: Tue, 19 Sep 2017 09:07:11 -0500 Message-Id: <1505830031-9630-1-git-send-email-Yazen.Ghannam@amd.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: CY4PR04CA0068.namprd04.prod.outlook.com (10.171.243.161) To DM5PR1201MB0140.namprd12.prod.outlook.com (10.174.106.145) X-MS-Office365-Filtering-Correlation-Id: edd05f93-3c4b-49ed-6fea-08d4ff67c036 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(48565401081)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:DM5PR1201MB0140; X-Microsoft-Exchange-Diagnostics: 1;DM5PR1201MB0140;3:8cEI4wHuZHTjJWaS2FXZGi+KVM8HCAtsXYDqP4QVD3pNS8kkwR3IEG/9Hd612ZLOJsni4q5u8A90LFwBkgdijU5nNWUjW8JhGwhWBczg5SWaPT13jCvJEXyuKGEYSQkZTAtT0BNkWTjskeH6ExQJSXxw7GlfBrMOdbunRuVsGnYVJA4VtXrwPSIC0mf0vMPHnDvIBqTxF1ThMBZQTR3+XEgO9oUutxvYlbcJKotzGkxOJ7zA2v+uaNBZA3ktL97Q;25:Jexg70O7StXneCSp6oeqge4NcRqV6dabGWA/prYw837OYFKnADkBqNswRHmkkOrDevUndKydGmePF9nrttgee0PuSi9I7NjrQhnv2xohhDpIw2LvjP4R39CM9beAZknZl7FZOty8dOiFjFYz5v0J/IVzkEQBUw0RtJx4LFZ9EYL/miKiyVFgvTZCpXkdScEdXaTooVOrJXyMUyKHbDbWRcJnr/Y6Ghzf4+enQOHmnIvzUPnjGSK9Ex1/fx1YQUDYoopINEbjJqYO7QXvPLzGYm6tLlaJarG3mCWAExBU69bWeq8fS4YYKVquvjwTcTQ88vixVr01/WaRaePbXk9miQ==;31:N/PiOYc5/cdGTabJ+ZtuHqaMQYJ3cPqNdI0R0sCzrs3I+BSz9lSkCudimitYG//DLQN25aXtYbr0JEnVjapyPpooyS1vesyzpPXYyFhhbYBd9LC0HHms9Oa+mT3IqTZKzkFwztz/uU/QtGt8s/MtOuFM5WtTV9yPiLEvCRKRCC8Ciw02YatZU5c+T5bOdMyaW+bbuhgN/Lj0WuWhTKrzVD8wAbKwin1SZf/JkmvLuis= X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM5PR1201MB0140: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yazen.Ghannam@amd.com; X-Microsoft-Exchange-Diagnostics: 1;DM5PR1201MB0140;20:SJCc92Tw0Ai1QT4Zz/rGxta8BquxfLVB1hW7Tj8rV6jokLd30I5SIkRmBr6hfUwnXg3mVPIAjpqbA9vsuaTuhEKHcQR1p8TK+LvVKD9BSjTKf4rdglGvlglNj73gOfiytm2kz0RDgoEiRKmFJG1O707dGLrJ2IEqrWxlMkpu6tObGiHDh57pGIbGtw6vP57ScD9gVtweM7mpJANcy17AZeK4TJ/K7Ue8f8X16C7PP4g2jhj7OI1E+5aV5RWGWHJbdZd2PO1tx52C+PN8X6XJOmnTcAdQIFiuL9oAPQF7EIAnRom7vIrXSuT/+5IrStU9u9pSnjRJDCSn5/F0z8bjRBKAz7E0DsZAto20VFJ9UdeC53S8b2mB0B/tBT+QQfzFiw4kBQzSzPIB2vR5N+ITafCcN/LARsOsfZahslP/lm73HAZPGTxrWrYG6vbVFEugLvIjYwTOuzE0wXh3qcbEVXD+yTqanjQa2moMl/X0lztccNUjjua+3uNcmseVsGEm;4:AC5yBwOaNMf19IEMERbrlFmdRwPEPtQjFMN1x8i9EqD9oUrBIdHpHNomjVC1aTcaYA0I55u5Im1XIab4A7UbtJddaR/lyK5wEBUo9uHTT+hqngf/nSosR3KGbJnKmLPcvXbUZ9gQgIzeyPWvvpwHaChiTxctgDn/w3kTap6SB422w8FInRlOtxggSS1wR+DTSNt672mDXaFYoCJLWwD6n/fdYz5S5adXj9WafmIJTn6yr5Km9Wflw+0d040gyYc8TWjHklx3sTMZqtoKbLeNPVg46LBv6K4MhA8rd5tJa44W1BjprsfwMtX91AXIyXNdAcvPt7wWWCubj+lStlqOjQ== X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(767451399110); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(10201501046)(100000703101)(100105400095)(3002001)(93006095)(93001095)(6055026)(6041248)(20161123560025)(20161123564025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DM5PR1201MB0140;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DM5PR1201MB0140; X-Forefront-PRVS: 04359FAD81 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(39860400002)(346002)(376002)(189002)(199003)(7736002)(305945005)(48376002)(2906002)(2351001)(105586002)(106356001)(2361001)(50986999)(81156014)(81166006)(50466002)(8676002)(478600001)(53936002)(189998001)(72206003)(3846002)(6116002)(8936002)(101416001)(5003940100001)(5660300001)(54906002)(6916009)(68736007)(4326008)(47776003)(25786009)(66066001)(97736004)(16586007)(16526017)(316002)(6486002)(6666003)(86362001)(36756003)(53416004)(50226002);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR1201MB0140;H:yaz-diesel.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM5PR1201MB0140;23:UdBmq/g+srNuEBXTpCxzQNUSOP+bdME5sPFZMNp?= =?us-ascii?Q?5XilivasDxSu+BDP2+b42P1vqyCaQ6zvOLxwLePegM24/VVCOzM5UPnk4awc?= =?us-ascii?Q?gOcfUzQb/knG6F4z/g2dssiI8lPcXeTgdZ+pdnFhqNxEBZiyYYYkFhdFxspO?= =?us-ascii?Q?B2WcW1BEyBHec0tYf2jV32Jafku337y9IfUx69jfZVacDKJeiCPgXH80NXnn?= =?us-ascii?Q?FHuW+TSLTj2dgDRtDESobP6vFlqHc7kvMJUJ9lf+uxw8Cn63wTkMGIXOxFog?= =?us-ascii?Q?PPQhQ+YUU46VSqYiHNEsCoxAP+mk4LXVoORDv1oT1dIhrgKaVzaH6mBlhmWC?= =?us-ascii?Q?2gxpgL1gWJ83F59/xEv0i9I1HFA8IMMMKPeyh29yFyDFFtKlP3Mq6YlrX3wb?= =?us-ascii?Q?RsCasx5/ibRzvPa4JrmXbjjLLSZwjn1qzjn/0rpLDODKW5FvMNY7MT/65K/A?= =?us-ascii?Q?BtMO1d1o5/rfoK8ZqQ5ZrU/JIGH81vXrdlI9gWUHn3P+On3KOM+sBPEB3yZX?= =?us-ascii?Q?/HltuF/hngJYkdIlb4j6yFpD/VMBx3zfOp7YOCA0xHyfYZROPdkXa0boqWFW?= =?us-ascii?Q?A2rXhESL1HVP+6DVjbohPldarBP0T6Tr8cHiSbpu9JCd3gQBx07JIM9/AejS?= =?us-ascii?Q?EFiUC8SP9+h1F7eSYidMmKB5WkJJGY5nGtFeHfknEMcZXVRc/2bLNYELP/+M?= =?us-ascii?Q?3C9r5aBkHbOejIG4v+/UslZgtk23/g2WCbzmeKEYuslAl3gqqnSEUjQNGNkn?= =?us-ascii?Q?fIOaMMTsdx0yJYSz0kcPzHBxnW3U0uGN+hO7uyRKt0uz0bT29jsb2fHqPZXi?= =?us-ascii?Q?HYNqPQpScZW6A70mA+8+J/WDQNq95FYv6OLdaB0+41h674V9ID4ZbB3s9teL?= =?us-ascii?Q?LIySY/9zJ0kgeUQt3bxTQVye2yQ7HtwH7OpRnPopuQOsu9obpKf0lNu1JjQj?= =?us-ascii?Q?1H0Pkq9FzQ9GStV8nuk+pKaMgs7aoTumqzIjE/SWjUOScMw3IVp/iJxbmTbH?= =?us-ascii?Q?67KVAxsMSGGi0Cg4ZmvwE+1akVc5MgMI9w/7M+raZno/9HM4eVMMHgNu5jGW?= =?us-ascii?Q?J/0z66pa/fJU6jH/6TBeEx+blHepy?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR1201MB0140;6:1/ki1zbbWR9960GAysgFdx2Dp7NW1qx/pf3NRjlikT+3f0Rg2kmqjQdfS+k5Ag5+o64p8tMgQyDnZWPNBkjZMfznAHGNd8D+V4R2B+9lnMv6jZI1fY1Z0SFukCiaOs+/Y27toVgC9+hHpD0M0KpZwC0gj/rgkSE1wDMV3q2p4IQklrX0tJf64eg+xaXXaLcfNZld5Kz2VQxACQgROnTVVDhkAtSoUwodxMTsYTNxT2SYOilXdFLuIPau1li66JtYCPlQXMcSQ2P2vs/Fm9kgmVrMd8S9zRGOE08MlA+3KnJTpejz9m3LEG4LmLhQgVwev0+yj45KDnS65QZTQuKMkA==;5:/GgxTj+2MYpf33GQ0FN63AOGVdE20JI2TW+qBaiGiUb8bnJ4TZ5thhCw7Yw/g3XryT+Tv1LxrGOoOUk227I/8E0PhqF2xd+ftUJkboJ6nS5rIo/3uPskSikt2TtILo7m9q98atefRzdj9iXNlV81WA==;24:bisqjRIJvrZLzVPCH2DCP9nJYe4X6OXGjdD1D7jtb5N3+8/nheCx8032DgwZEER2HpoEPVZxjI2Xuyr06psTew10YJtgT99s3F0MUkVbpks=;7:ai6SEQBdIcmZGeTQqbhP0OWKONUJ88YWE+1hxLdthXvkOjasEsZ85yco1jp1EUC7gA7CbDObXCq68zO/Zdbz4Rdkjv9/NbcmdbHBzSLvhqCsWd8wps021JB396jyNO4tG90cglXvlGRrwiB0Z3K+gHRPtZgjO7BorTx2vD2ffJombdHgNeQqVTeiV1ZohQKg3QYYVMnJNoxVEKGaRlGDmUD1gfVHV0wp5urtA8J5kTc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR1201MB0140;20:dDqc415qFrIyfJjlelUq2YLEVz85hJ4eqh8AWDasrVxGLcZc9dErIfkKSAyhWB8qgO+M5r5Z+Acrwzoo4euuT3JKRDC4ACwtLhD3ytAA5LPatDUVTdMYKSvs2cWtOYYDs9lFv+OELpJ3YuOXHg31I+re/PI2EO5I9OuPugFiF18j0ShFyzlxjLBuCfDFYM2hbLqczgDkJjfpWp/qt6OQohlsZF4w0xRp9Z8yPJULPwde8S8vyNlm3fjmV2cPvUsH X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2017 14:07:23.2277 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1201MB0140 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Yazen Ghannam Our current AMD severity logic can possibly give MCE_AR_SEVERITY for uncorrectable errors in kernel context. The current #MC handler only calls memory_failure() on errors in user context, but older versions will call memory_failure() unconditionally. In older versions, the system can get stuck in a loop as memory_failure() will try to handle the bad kernel memory and find it busy. Return MCE_PANIC_SEVERITY for all UC errors IN_KERNEL context. Newer kernel versions have IN_KERNEL_RECOV context for recoverable kernel errors. All others kernel uncorrectable errors can be considered unrecoverable. Fixes: bf80bbd7dcf5 (x86/mce: Add an AMD severities-grading function) Signed-off-by: Yazen Ghannam Cc: # v4.9.. --- arch/x86/kernel/cpu/mcheck/mce-severity.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/arch/x86/kernel/cpu/mcheck/mce-severity.c b/arch/x86/kernel/cpu/mcheck/mce-severity.c index 2773c8547f69..f5518706baa6 100644 --- a/arch/x86/kernel/cpu/mcheck/mce-severity.c +++ b/arch/x86/kernel/cpu/mcheck/mce-severity.c @@ -245,6 +245,9 @@ static int mce_severity_amd(struct mce *m, int tolerant, char **msg, bool is_exc if (m->status & MCI_STATUS_UC) { + if (ctx == IN_KERNEL) + return MCE_PANIC_SEVERITY; + /* * On older systems where overflow_recov flag is not present, we * should simply panic if an error overflow occurs. If @@ -255,10 +258,6 @@ static int mce_severity_amd(struct mce *m, int tolerant, char **msg, bool is_exc if (mce_flags.smca) return mce_severity_amd_smca(m, ctx); - /* software can try to contain */ - if (!(m->mcgstatus & MCG_STATUS_RIPV) && (ctx == IN_KERNEL)) - return MCE_PANIC_SEVERITY; - /* kill current process */ return MCE_AR_SEVERITY; } else { -- 2.7.4