From nobody Mon Jun 29 21:06:51 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2F025C433F5 for ; Wed, 2 Feb 2022 17:18:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346198AbiBBRSx (ORCPT ); Wed, 2 Feb 2022 12:18:53 -0500 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:54622 "EHLO mx0a-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346178AbiBBRSu (ORCPT ); Wed, 2 Feb 2022 12:18:50 -0500 Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 212HFa86009072; Wed, 2 Feb 2022 17:18:30 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2021-07-09; bh=90njUJI3kewk5sKs0oy+T2soqd04IF2f95OXXVuA9Y4=; b=Tsoo3gliQ0sLu/pBE5nVPmz2UIkb9jFtlVXVMkER9cWXOf93Iwkfw0whIOPkAjq1ZU63 VfIE/AiXw9ndevt7ZUw8rc44NzPGerHvA09yPS857d9r3kJftvLtdmB3LHyIgKCU0WRf bjm61hu5EeKKcLVur1rXDgbCWscpOrz8oDJLy432tE7B2IRquehS+1xQv92YDzgK1ACB 2Zw7sL1x4LaV+c0WRQIqKy2+xsCR7uXAIWBLHNYejQu21B0lcr9Rv7ooVnPHNAMq3tpX 2DnV5SizUTujTyGXM3edtuFltHYJK9cC+N/7UdZixKMzDQJgvUbfO9Nl1sxkJcdsTFOK kg== Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by mx0b-00069f02.pphosted.com with ESMTP id 3dxjatxtyd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 02 Feb 2022 17:18:30 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 212HFkEP196047; Wed, 2 Feb 2022 17:18:29 GMT Received: from nam02-dm3-obe.outbound.protection.outlook.com (mail-dm3nam07lp2043.outbound.protection.outlook.com [104.47.56.43]) by aserp3030.oracle.com with ESMTP id 3dvumhum73-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 02 Feb 2022 17:18:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oAnwWs/laGIcqHZhUUF5JtL/yJpKZeY77ik2yofpVz+JPq/WczEeFwFpDmjt+1pEz6jHmQovy80AqyzxKMDyz+zp2hh50Xy69Y8Od4C/AVZXpiJq9FFsyem8sn7orGFVeY+zm7ib9wnNGBT6nY1vc6JaZLwkvqKgWELtMlg9Nx84jvD0c5rpq6Q/uaAS9Sts6edZMxLPB3JTmWrITn+R+orkDHpmwOA+356AXBsK0ejKY8oASosav5gjElmue52FfS+bKissMR34e4sn+ntjX0sjsIO+MqC4G2T+Tkoi8NB0gWGa5LxZZ7i1DCrlFfjTvc84znsNnfJJEBonGGCVzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=90njUJI3kewk5sKs0oy+T2soqd04IF2f95OXXVuA9Y4=; b=VRA7Thde7Mgm5lM+XeHJqcvH7XotNkxBl+Yir/K0aaUiL9zEQ2cSy9QPQvS+HbXKFRlSIUSjCPVkL93mRAARhLVouPypj+kZbcqT8so13SbwTN2hPUI/3BV5ctJF6WJkVAUykVtuwkDRQbwLZ5yG3RVBgZESTFMNPICNZSmlYELkwOpnrKIS4cw01qmuQd7ddDdgfsojriPfD+YwVpAEMtHxaMli/YZvi4X/1fwz2L/B2ixNufdrK3JNYBuN21OQY91O4raVUGnlY/PzVzwnwDG9VaBhCR5Wtc192Ppr2GjVGBJoRvQ6HeQGbfwlGQkShUW3fdR9AMuJR6Y0jSuQvA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=90njUJI3kewk5sKs0oy+T2soqd04IF2f95OXXVuA9Y4=; b=a+sQEeX13rzyJ49UkJwcqx/KnTtnsnylwq+/O/3oDybkNsJ6x2xtM1+CvdcOhjC2nZv9yeHurPNcdn+d4iboDXRD+hGJs1RrV+V8fHWrtvoo5+QevH8ijvWeEngoV+EG5vVatMH7HOYK06VQTsy8WMu3f3KoxorD/xXY0F0iLxs= Received: from CH2PR10MB4166.namprd10.prod.outlook.com (2603:10b6:610:78::20) by DM6PR10MB4236.namprd10.prod.outlook.com (2603:10b6:5:212::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12; Wed, 2 Feb 2022 17:18:28 +0000 Received: from CH2PR10MB4166.namprd10.prod.outlook.com ([fe80::f4d7:8817:4bf5:8f2a]) by CH2PR10MB4166.namprd10.prod.outlook.com ([fe80::f4d7:8817:4bf5:8f2a%4]) with mapi id 15.20.4951.012; Wed, 2 Feb 2022 17:18:28 +0000 From: Stephen Brennan To: Sergey Senozhatsky , Petr Mladek Cc: linux-kernel@vger.kernel.org, Steven Rostedt , John Ogness , Stephen Brennan Subject: [PATCH v4 1/4] printk: Add panic_in_progress helper Date: Wed, 2 Feb 2022 09:18:18 -0800 Message-Id: <20220202171821.179394-2-stephen.s.brennan@oracle.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220202171821.179394-1-stephen.s.brennan@oracle.com> References: <20220202171821.179394-1-stephen.s.brennan@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR03CA0154.namprd03.prod.outlook.com (2603:10b6:a03:338::9) To CH2PR10MB4166.namprd10.prod.outlook.com (2603:10b6:610:78::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a280b0a6-ba44-4f3b-8bcb-08d9e6700726 X-MS-TrafficTypeDiagnostic: DM6PR10MB4236:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mCMwXJvvIkhiZZa4+k9AmRcKzbhxXMG9WTSKjaPWbspyVNX6QtPE9HVpWvuUojlYVChPCmisRVg8q12jqMA0inOeraohRTA89c4oukQtaDS0pwKSeyjqKkdcrI86bD1I6Xf9Jb7nRy1rc8782Fesry1u2Eo3/OoxeZhpizKdXSiDzEBkvc7My6ogucalCwPGwkyAWgrh0wIYcFwiSvDNyQvpX+dNBnsPJdg/mkhbRJH5stC7bnqIrsQRZFa4nvZr10MB5zzHwnhn6sAGeg58sBSm09jOhNJvqXoUFMauvhN8I3ehua0xpeIHa+nKT69bpAuAQn543KXm9cEUV1nwvIDw5BGc+nIILZ7uro1gfwdM1PhwGLKWL3x7HG7jeWgSiTGzcY1N8XUuLKIZrCvc/1d/26nWF3i/zP0LsWw5K36Zu7cH9DqlYdUS5pGu77VZB2Ke8dMWeiHjwMsQBLgMVKmbLsXdLjpEV1B5418lrgf5R2jA4+B7LSJb/WCKIe+N3EgOORDgK/ysHEOgYxpED2pIpmBbnu0dgCCoygjQ+gZcoI1ieLKgn2FYKLFQYFY1gsNTyXOTExyMHLv/EUFksLob+pnCPbm63wnZIRcqYa6bheJSytIjHi1UiV9mlvcv5TQByeq/3tgs9Eo6txwwyFk5hhdpds5a+Qp1vWT6FO+N35bI/6aHCr5xKrR2Qb11L0QeGePys6ZX9Orp9VsB0w== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR10MB4166.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(1076003)(186003)(26005)(6486002)(83380400001)(2616005)(107886003)(36756003)(2906002)(103116003)(5660300002)(86362001)(54906003)(6512007)(52116002)(66946007)(66476007)(38350700002)(110136005)(38100700002)(66556008)(6506007)(508600001)(6666004)(4326008)(8936002)(8676002)(316002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?5lRZYzVbziwgZfCurs4s/aQtDQtXlCLmuB+BJXaAQFAGeRr0OXkLUwAh+Qz8?= =?us-ascii?Q?auDm0AfyMW4deMe5GDRB4wFfgXDsgmIJ3TxmGGxCLpXlJ/c17FG3NhzeiGOj?= =?us-ascii?Q?qTQPOLbwhHI9ML0Zpysl8W8IEp0ilyo/nTGzKyHDT+sImgVfxw+0nZJDUHHk?= =?us-ascii?Q?2sqaq+4pKixnNsp7170IOK+g6s8txb09ke1lwrY39qmbRq8dADiAb3XP9Q32?= =?us-ascii?Q?ohQuFOuAucnt5x5Lp8IIaHUN3+5e1bLDjuObTmraRI+7Aq8a53JgA+gcjMK7?= =?us-ascii?Q?VwpJbRle2ZQL3YLqZyg8BNcr9wP2nw42v2Rxcz4U6qAvuV2pLHmiYDfLuRZd?= =?us-ascii?Q?JvriezyQXANxcyyH0BnlYNQUDEyDatHJvOY22pthWq9a1ezuy+BsdGQdikip?= =?us-ascii?Q?fTamtCYt1+SVSQz+OUqzy4DoSGf6vm1G6J102RZ16UXA5LenRXwH9idVav+g?= =?us-ascii?Q?Qjw5MG2DKhp2c/UQIZi3LTDGRRdkzcbLBHDp8nipKjn3r/+Ux+ldP5W0lnVP?= =?us-ascii?Q?uxTZqQuV7QG2zyC6HbZxEyRikW60LdOyCx3LxdDVD7TsWF81u/295JHrJT+x?= =?us-ascii?Q?rCsYS9lcTASoVwTK+T3H22BP6Q7yDs6KefXwC+7NAoDJ3O/PbxWwPR6PEDX0?= =?us-ascii?Q?dymFF8pt7VrgoG0HcC9BEb0L46xVgnioQw0wUpJSEVYufW/rxI4MplpGpi1o?= =?us-ascii?Q?3yQd0mf8lIeWP/EFiStTKzBNy2Ej4xd5ErIqMJJ8CNCJO6A8RiVDo2nJgnsb?= =?us-ascii?Q?o2zkBAdOVHO/s7QyoMcqkkt6o4nAiiJ5ur6nD7L5nKzORP0G5XYvZ5FLeLTP?= =?us-ascii?Q?ZvMMQMo65uNpAVNHidBAmxj4anM7wUSmVDCP7BdYJFWaH9Pjk09pAP8KYj2j?= =?us-ascii?Q?DH2QcUNjl2AKcIJ4T9+YjQVzGC+AjN+iZF8ZEpBBin5vtp6lu9rVAtxo+zDq?= =?us-ascii?Q?AX0yLuleTLfR2vGYvGI8RJsXZJUXcjqvzrW2jFBKFehXBMLrLeYhH4Bt3lF5?= =?us-ascii?Q?jyBQBUyqcrCyms1pS3YQJdr+v20p6IbyUE+IaXidTsjh7b9aneMSPoeGoB+S?= =?us-ascii?Q?cS0bAcDolkS2QrnBM6O8Gbej0Wla+2mH13vsDXYvcBwr7in66OvXRYEYhaYI?= =?us-ascii?Q?ltlwGfI9Wucj0YVrqUvbLFm0H8mlybDC8R1OSx0EJflsqpOXWK2ytYl9Br3a?= =?us-ascii?Q?4P1eybU8Y8St3lmW0JJjPJPo7p4G83fHjwBn4WjQyzWeIUUbpeMAxmdMtKAq?= =?us-ascii?Q?SUFFbH/rDThfip3q/qQPiPeoB53rppMmZned0bWWXgEkLqUptm/9SCMCQqpt?= =?us-ascii?Q?d6jfL0hMm1S+6BwfyvruxUbptDmRbIpmQh6MFltqZ9QPPAf4ArYx4c/NL7lb?= =?us-ascii?Q?o3kA2HUhu1EXaRQFt3/pWS3G3GlJ6gXRChzLBAlpGSwIGizVX280UfjqTqSG?= =?us-ascii?Q?om9Ycn0jYoktllTilcZrwQgnT/raXD0dqLytwDg1RTgLey9GYB6nXcoWWZYG?= =?us-ascii?Q?PrT9MCkIURsDpcZm4GQ1RTISSHvBhrJlleIYf8oQJsu03pRK2i+OdRim2fJT?= =?us-ascii?Q?hjpMytuhm/8yvF1GKKOm7B5lMhQZ4DIy1UUiB5ST3NAr06SUdI9SK9DhCnua?= =?us-ascii?Q?3k3Xizz85ROX/T2Qvn0DudJRyjYxVEfNCa3tWppmeu3nOv/KlYCQBTRBpHfZ?= =?us-ascii?Q?D1rEcg=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a280b0a6-ba44-4f3b-8bcb-08d9e6700726 X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4166.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2022 17:18:28.2202 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 2NVhu2DUtJi/aZ63Q5599KtXkAr6vLfOEf+tWV4XtBRkkxgmpsvdcha1LKBC52qATWyjiHozJM0cE/k60udmMuwQbfIJlDfAEE28XhLREcM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR10MB4236 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10246 signatures=673430 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 malwarescore=0 phishscore=0 mlxscore=0 adultscore=0 suspectscore=0 mlxlogscore=999 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2202020097 X-Proofpoint-GUID: a_EvTsoMmzAC-itXVupDpwyQapQeKmwl X-Proofpoint-ORIG-GUID: a_EvTsoMmzAC-itXVupDpwyQapQeKmwl Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This will be used help avoid deadlocks during panics. Although it would be better to include this in linux/panic.h, it would require that header to include linux/atomic.h as well. On some architectures, this results in a circular dependency as well. So instead add the helper directly to printk.c. Suggested-by: Petr Mladek Signed-off-by: Stephen Brennan --- Notes: v4: Move helper outside CONFIG_PRINTK section v3: Move the helper into printk.c due to circular include v2: Switch from macro to static inline function kernel/printk/printk.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index 57b132b658e1..e3d986dd49a1 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -256,6 +256,11 @@ static void __up_console_sem(unsigned long ip) } #define up_console_sem() __up_console_sem(_RET_IP_) =20 +static bool panic_in_progress(void) +{ + return unlikely(atomic_read(&panic_cpu) !=3D PANIC_CPU_INVALID); +} + /* * This is used for debugging the mess that is the VT code by * keeping track if we have the console semaphore held. It's --=20 2.30.2 From nobody Mon Jun 29 21:06:51 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 212FDC433F5 for ; Wed, 2 Feb 2022 17:18:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346202AbiBBRS5 (ORCPT ); Wed, 2 Feb 2022 12:18:57 -0500 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:34832 "EHLO mx0b-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232289AbiBBRSv (ORCPT ); Wed, 2 Feb 2022 12:18:51 -0500 Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 212HFmqu012793; Wed, 2 Feb 2022 17:18:33 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2021-07-09; bh=l0GwcuejTlh69ODQ9OFtnEdLNbsWO3CNaRak0kEhjD0=; b=tyPlkWcXYuzYYj0yP8CgYEhsx/UfpIfAWxfhQ0O5lO/70QB75rC6FeerwmrqjdzHO+Ce 1o2wTReCfTxuhuy6s3V/BwWMoOPT2JgDZgHM62nIuWlWrFA21im2ZpVDLtXJv486veHh tuXSnhGLAp6VxX0EUA5FVmyKaClKnjVeMI6qP6H2Z+I2fJ2zB+DHYrSPq6P4n8aeCffZ /qc4YL6pTBtQ4Y2adPtj9A3ikZI748TVr3iL6iDu+NKrB0wHMQVMrAOQz2rUkzfr96fq 6NpEfHUVe5gLWBReXFxaysmpOe8tNxraL5fjtOCwd79SZ8ohYCmRuie4vOXP5z9e3ILC 2w== Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by mx0b-00069f02.pphosted.com with ESMTP id 3dxj9fxs11-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 02 Feb 2022 17:18:33 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 212HFlLg196127; Wed, 2 Feb 2022 17:18:32 GMT Received: from nam02-dm3-obe.outbound.protection.outlook.com (mail-dm3nam07lp2042.outbound.protection.outlook.com [104.47.56.42]) by aserp3030.oracle.com with ESMTP id 3dvumhuma5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 02 Feb 2022 17:18:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NZkAIWc3Q7mm+9AXBguS+inHwJ0k6IBZnjcDMUZv0PYEjDvdvo0V/83UubBTKvjyRIQJeVax0LsQgnEnYpR0PYt3JBropiJWl9FHwoeOSMLIIidqm+vbFJGl1GIx64vonBv6xTd7mO+DztJ9wN7sSAwXp+lBktvVFTp58YtCK3oWCrtRfGchuQRUy8TsbrhkrdUVDXkVe1+gwD+zyrLeRPERIVAwy4OZA1PsoeqtK8hxl0UA+CTEl6RfWSMz5ZpAFTk6w+fFRmHTtdxRg84p0krkZf1P6Db2TjTBLHrz5sdRsqM7FKCCIkWRJt7jjGK38i40uFWQVujs0QwJFr3tGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=l0GwcuejTlh69ODQ9OFtnEdLNbsWO3CNaRak0kEhjD0=; b=em/oO68swl4g1waK+aWlpe61J9y2ZYJUWoHgbRMeyqkAVOJmTmbIsegHrhnSz97EhaUK4cBUlisu6SIO3p7FrK8kffzLok/ftfL+KJPxyO+tfmWVAL32M7ncwC43UMcFsTAxzhjqenBX0+4jjGZ6cE17ecAZEYX7To9+ACpuU5NY8NM7AjZ7e2FNP3yCobwDK8TkkqTf0O4iIz5Z5591AvfuLKtXb1TOY/sPXsZw/z3kEyBeWY2rdDzihjKm4dhhZpC2GN+sJnsJNOdq+OAJPG68frE3XJG1mVKb1skOA4/XRJuymIYmwhg/imOxdkKHOXBU8MU3PCq0vw3aKrpzNA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=l0GwcuejTlh69ODQ9OFtnEdLNbsWO3CNaRak0kEhjD0=; b=CwMdSLd/PBe9eXWoS9gOvxE2z6YXHv7dFeKnWRk8V3s3muUyurM5YvGpzZELVWdXy0mvlEXISQm6u+8F0eJ2KgywqR5ppKj/QcXhlzfSOvAkZeAeFrrNIPTnBw8OEJD3Bh473yQXKTXFgHnQfbpJ0A/GjFr0msnxZna4jnheVks= Received: from CH2PR10MB4166.namprd10.prod.outlook.com (2603:10b6:610:78::20) by DM6PR10MB4236.namprd10.prod.outlook.com (2603:10b6:5:212::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12; Wed, 2 Feb 2022 17:18:31 +0000 Received: from CH2PR10MB4166.namprd10.prod.outlook.com ([fe80::f4d7:8817:4bf5:8f2a]) by CH2PR10MB4166.namprd10.prod.outlook.com ([fe80::f4d7:8817:4bf5:8f2a%4]) with mapi id 15.20.4951.012; Wed, 2 Feb 2022 17:18:31 +0000 From: Stephen Brennan To: Sergey Senozhatsky , Petr Mladek Cc: linux-kernel@vger.kernel.org, Steven Rostedt , John Ogness , Stephen Brennan Subject: [PATCH v4 2/4] printk: disable optimistic spin during panic Date: Wed, 2 Feb 2022 09:18:19 -0800 Message-Id: <20220202171821.179394-3-stephen.s.brennan@oracle.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220202171821.179394-1-stephen.s.brennan@oracle.com> References: <20220202171821.179394-1-stephen.s.brennan@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BYAPR06CA0039.namprd06.prod.outlook.com (2603:10b6:a03:14b::16) To CH2PR10MB4166.namprd10.prod.outlook.com (2603:10b6:610:78::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 672ad6d1-3f26-4324-eaf7-08d9e67008df X-MS-TrafficTypeDiagnostic: DM6PR10MB4236:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pQbksiGhODQLBrUNFPK7xicVFzopAbqIwqFXAwj/Vc3pSDsbTntgWcYuYAVJkxHwTidHloGThULFUQvQzoWcOQpFGzi45/Nn0iZAR4zjfR7hcIxfPNG52jWryzyhIS6TZs3ZTPAUy9aWrDT/Dn8aIPQqW/4o6MBUM3BLVllVGEC4bF4/OETuD4DvqafVM7hw9pXmx6feF6X2PtcSL7yYLov7BFJ8+9I2qTFQ9HlEawM5/AF4H77iy8lDQRupXO3yhtIJTchAe5tE6u/kq+PxtGSO0C2rWFaEzBBIf1tTABwd6sHvHTKo+S+lBNtC/fek8ZQSjohXauHGPes5b+DfhkaEjuenMOE+kyJFTDU4RKFFoDsYJD706EKkImZ1mqaztsO9jGlC7euLI4MLNjIuFGzHeD39YKQjjSh2HxR8T9r26TDwS1YTzB3lrLoBhz3xdjjsJBJqxpGZ4OuOPXkC1oFIxXpB0CTqgjnGXBTYWfzCRsVUb/B5eVTu42nbvCfhimL9X+d82v+UAB4NTlZX1CNG4n17cMt9tYcBFOzZmONK0KmgqRRwdWMbJTqD+aGFuVmM7oZTSrVbxpOMxvQoXPAzwA10Do1VsU2s4Ns/uOkm5iIvBWjiBzrKsEEeSlbk7OzHVWUt05uVDxu8gNNLy3kYFJVRYxZDXAVWX9ZoypjNfNkJh/2sNF8NKA4+6Ucefk3FtGiExCYyBo/Y1GtD9Q== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR10MB4166.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(1076003)(186003)(26005)(6486002)(83380400001)(2616005)(107886003)(36756003)(2906002)(103116003)(5660300002)(86362001)(54906003)(6512007)(52116002)(66946007)(66476007)(38350700002)(110136005)(38100700002)(66556008)(6506007)(508600001)(6666004)(4326008)(8936002)(8676002)(316002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?hIDzoiTeTla1otpw0CDESV8t/woDUqlqRAqy6lM8c6yZMF1hrDNcbzEjf26/?= =?us-ascii?Q?wzEuKW70L94k0DjpeOug6j3wEMiTjtUQZAmU4aDTNaiLJrj5Y/DlI2rcB+zH?= =?us-ascii?Q?oYWYfTex5nfQrgJXLvOYKwZaIlW52pDBxPa8nYoeHNcX0lX+9KxTPW1w5ePj?= =?us-ascii?Q?HNPfpFl8m2vKBZJ5v8oXInpXt0CCrO7zl8MdnSe1rvV+uCOODdWOYUWJ/0zg?= =?us-ascii?Q?t4yaHhIrDUK/YeTx2PiZoTN4qHpYUnr1svwUw8sl8zv99VShEsxQAzQP3ZPb?= =?us-ascii?Q?UNNiBIVO0UBC3lL1L23eLSfq5a4PytdbUSgw2bUZhcqff2NnlFf8KB+52aXF?= =?us-ascii?Q?nN72SPU6MU3EPtcSSC+9RzSeolycNsJyzI95tvfCWS1kAQbEyMDbF8frr4yR?= =?us-ascii?Q?AQ8dBJRo6LghdR4FU/0rUA0bbTO8nmMoX71sXW5eDWwxRt5E1U0BYZJ94Q/r?= =?us-ascii?Q?6oMo5QY+aPR2irH8cotbG+M9DBI4SClPr+gHwhc0soG6vaYa4fdK1osgixyS?= =?us-ascii?Q?slwHoEmlq9Pl+9V4KlUGQ86p4WnoYVbOlWIFHtEfbjAE6aCzbN+s2qniIFDn?= =?us-ascii?Q?BJYY9Far8dlkOWH/z+rFN7bYvoP7HZu0gN/QJBzMZvs03stpbCtffE2XpuXG?= =?us-ascii?Q?EHkcQdL3Q7cAtRrt5/oEvd55Liez7wmCRRQ3wIneLMCNwj7Kl+fS031AA4ly?= =?us-ascii?Q?7+oFRH75ceQ+BIutAUEa7fAFVc0T9Gl7d6TSmBOxdRH//sL1lg21d3RgzAAM?= =?us-ascii?Q?BV9mPS9caz9SeD4HSniiuhujPswsrISnmJ7Nz8lgw24kljVC8VsSVmgP6QNq?= =?us-ascii?Q?y3UNRdClAtHFA0aWx+XxiLKXiiELLWammsHLaURh1RtT0hfLxg/Z8wYApQUA?= =?us-ascii?Q?RAMoxXQUHrWExDAX/bFJLzyUKzNQ1rkeSY62x7msYkg/qDmZn+K4aGYjhIyG?= =?us-ascii?Q?DOm936XU4kvogThXrP4rC1XHVRe0JHWDob8mfgv+zsLCdV96UiRJ33RBccn3?= =?us-ascii?Q?0eYz5VGeIkQt11cjIFhtMk5u5T02VZl8CCDD3U8Bl8jojs7/vFpoMEyZ2Zmt?= =?us-ascii?Q?jZMh1dexA5+qgOlpliMcXkSqx9Bz0nOza/nrcvbcAbvanokuKprH+hkQDdcU?= =?us-ascii?Q?sUJr+5VBIbB+UKXQ4R6CbWSDo1pxldbozU0LM0UtX7mAs2f5pGLkDV0aBE9o?= =?us-ascii?Q?rwHjXapRH96BKXBuUnkhc6wL8VE47Zc1QFMiK9gx7PM/70Gfz4Jis24SV+rt?= =?us-ascii?Q?kCfXa4ByybLmCEkW7c3HkZPCkyuyQgh+4x/FAfB4rgLkNljAmlpZnuKzsvM6?= =?us-ascii?Q?hiXz7L4tTGd2qDa9eQWNFRjkV2T/xGWchQzbbpKJqGumxXLkxg9qehWA9RPF?= =?us-ascii?Q?SRlmX6Z7wDUEOwu9mAkLoNYT9D0UGep5SljxZZK6S1tk7pxv7EpxIKPa/NV+?= =?us-ascii?Q?D7HfiHRbsgwx4z53YHHnvDJ64Qtx6VL1lw5TjlgDS8WJykhebCpGTn3g3F6z?= =?us-ascii?Q?/7aPtjAOI7Jt6ndWzupYSIyugi6Uo8G3xe7ThHoznCjVvzobIQUbA9HUrbco?= =?us-ascii?Q?9b2H2SN3Bn37yj+WIeiWktXajcQUpPIYGskY63rZ1Y8gMVkVpspv3unB+SPO?= =?us-ascii?Q?9lyUpZFJmKS12RDM1sRdNNEpt4FeKKmS8Ze1HOmgF/oEetRiwwbtKRdY8qTm?= =?us-ascii?Q?dA96Tg=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 672ad6d1-3f26-4324-eaf7-08d9e67008df X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4166.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2022 17:18:31.0713 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: dhn6hM0d6oCWfKbSY9Xu5dlmSJ1mV73pWfXZTQOvOQpoVzmHI60wfMhN+uT5Or2TTpX0i+uJWLM7yDh98aUYgoTp1Rv7ht6oEE6jcH0/eKw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR10MB4236 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10246 signatures=673430 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 malwarescore=0 phishscore=0 mlxscore=0 adultscore=0 suspectscore=0 mlxlogscore=999 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2202020097 X-Proofpoint-GUID: wWoL8pl5TaFwS9tOUh_JVsToIdvai8fA X-Proofpoint-ORIG-GUID: wWoL8pl5TaFwS9tOUh_JVsToIdvai8fA Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" A CPU executing with console lock spinning enabled might be halted during a panic. Before the panicking CPU calls console_flush_on_panic(), it may call console_trylock(), which attempts to optimistically spin, deadlocking the panic CPU: CPU 0 (panic CPU) CPU 1 ----------------- ------ printk() { vprintk_func() { vprintk_default() { vprintk_emit() { console_unlock() { console_lock_spinning_enable(); ... printing to console ... panic() { crash_smp_send_stop() { NMI -------------------> HALT } atomic_notifier_call_chain() { printk() { ... console_trylock_spinnning() { // optimistic spin infinitely This hang during panic can be induced when a kdump kernel is loaded, and crash_kexec_post_notifiers=3D1 is present on the kernel command line. The following script which concurrently writes to /dev/kmsg, and triggers a panic, can result in this hang: #!/bin/bash date # 991 chars (based on log buffer size): chars=3D"$(printf 'a%.0s' {1..991})" while :; do echo $chars > /dev/kmsg done & echo c > /proc/sysrq-trigger & date exit To avoid this deadlock, ensure that console_trylock_spinning() does not allow spinning once a panic has begun. Fixes: dbdda842fe96 ("printk: Add console owner and waiter logic to load ba= lance console writes") Suggested-by: Petr Mladek Signed-off-by: Stephen Brennan Reviewed-by: Petr Mladek --- kernel/printk/printk.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index e3d986dd49a1..dfac84876e7a 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -1848,6 +1848,16 @@ static int console_trylock_spinning(void) if (console_trylock()) return 1; =20 + /* + * It's unsafe to spin once a panic has begun. If we are the + * panic CPU, we may have already halted the owner of the + * console_sem. If we are not the panic CPU, then we should + * avoid taking console_sem, so the panic CPU has a better + * chance of cleanly acquiring it later. + */ + if (panic_in_progress()) + return 0; + printk_safe_enter_irqsave(flags); =20 raw_spin_lock(&console_owner_lock); --=20 2.30.2 From nobody Mon Jun 29 21:06:51 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id EB5E1C433EF for ; Wed, 2 Feb 2022 17:19:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346212AbiBBRTA (ORCPT ); Wed, 2 Feb 2022 12:19:00 -0500 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:41204 "EHLO mx0b-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346204AbiBBRSz (ORCPT ); Wed, 2 Feb 2022 12:18:55 -0500 Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 212HFmqw012793; Wed, 2 Feb 2022 17:18:37 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2021-07-09; bh=1X2PFsnxKSNbS+iboXD4HyS6B1JFyvg7cuRcWjccXD4=; b=szSOXGjeSFVJheddFM4Ib8sS7R11YNxeCNa3XVypUyynO7FVucjAXZKPaj2AfxBBgedg 6mlOQBplbyToviXDIjhs8WZlh82ie9kv8ETvSFsRAcu8bi0Jln0tJP/Zo9pKDtT0DmGH 7TctTgeIFcEGLDWmL1o+HuiLRwL0BaNKBJGp1WErl1XIfVJCgFzH6VjzuBoI3w2T07zJ 61f4xzNg4nOGRTRUhIn9BHswCYQIf2ZXDRbXFphzjUadxmiP4cvW+5Yc2/3av0wI1mIn 6PiwXq7igRagidt1t3h595ZRuLH97hjC0ySvUPotDXcaHzzMbN+AIRKKcxidDHZd8dx4 TA== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by mx0b-00069f02.pphosted.com with ESMTP id 3dxj9fxs17-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 02 Feb 2022 17:18:36 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 212HHQTp184160; Wed, 2 Feb 2022 17:18:35 GMT Received: from nam02-dm3-obe.outbound.protection.outlook.com (mail-dm3nam07lp2041.outbound.protection.outlook.com [104.47.56.41]) by userp3030.oracle.com with ESMTP id 3dvtq34d8n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 02 Feb 2022 17:18:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Oxbmch/CKFh6KXW/HSBu3dKZE59gWIiAlJddVzS1QF/MRDL/RRIXA335u7DcEu217UNW3Wm512bPfgvBIKiOSx5hTDdseVwf23xZ0/6yHDn0TUk9Go4CCewg3z/tPCab8iDWsnZ6IoSBspKXfN0BRczoFJ/OX+Y6/pDZYIns4jezKueovp4hK4w31kAVr+fnA7hT556wk1wum8b0MNWGHS1uLMe2RdcSny0oaZfZjKwYLYYnrC3Ml8zFnL4rg51cmQGrF7noZeIYCaA1hWsYZeM5sUDgP2d/nmWWkHrVV+8aimVu+LCYzELBmjSq/9JEP1JYgPMZf/ivv6IbkyxLMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=1X2PFsnxKSNbS+iboXD4HyS6B1JFyvg7cuRcWjccXD4=; b=duP2Qt9ZNuiET5S09QIP9K5flr7CdN47k974/2npoq1CEmuFnud4Lz6oTGjxWY4V1IFvJ4fm4wiCb/UvfJIGpAjaaAHm5bqQJemm0aaS3xmmBZx7lR9OwklhDaOMSpIG4nqj5o5BQ1iXfavvZPPFadGfKNMnC/Qd5pJ77ZlhqwqAtOnaUDVTOFD0Ih+qAjzMu8H0pTxkkfluK73OlHPwui4G+f6iG+A+KFPrrrLnbCLiAp5QRLccIeRggJ7HxHNIafTHe0ElUjuZjP59v1O55deBg0BsAEHDT5+azOU1Qi5szQO7yfKe4oPw+BGZ/38uZJ3kNscPM3OX+BATzk1trg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1X2PFsnxKSNbS+iboXD4HyS6B1JFyvg7cuRcWjccXD4=; b=yofrCFo9Ffa/bEMYE7teai4wmc8pMBAVbeXNw+YQ6fuKTntg12rWnXfX3Bsn5Zs45eTiAfxsccoNYDPvK21t4M0wbrp7qU1ll1QoAw4WZgfDPYAuAq/UbSKaUeq4Dq1wWSEnP518KmjeCqnpcj6iaDFrU9hjSWrblpKX05JyNEE= Received: from CH2PR10MB4166.namprd10.prod.outlook.com (2603:10b6:610:78::20) by DM6PR10MB4236.namprd10.prod.outlook.com (2603:10b6:5:212::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12; Wed, 2 Feb 2022 17:18:34 +0000 Received: from CH2PR10MB4166.namprd10.prod.outlook.com ([fe80::f4d7:8817:4bf5:8f2a]) by CH2PR10MB4166.namprd10.prod.outlook.com ([fe80::f4d7:8817:4bf5:8f2a%4]) with mapi id 15.20.4951.012; Wed, 2 Feb 2022 17:18:34 +0000 From: Stephen Brennan To: Sergey Senozhatsky , Petr Mladek Cc: linux-kernel@vger.kernel.org, Steven Rostedt , John Ogness , Stephen Brennan Subject: [PATCH v4 3/4] printk: Avoid livelock with heavy printk during panic Date: Wed, 2 Feb 2022 09:18:20 -0800 Message-Id: <20220202171821.179394-4-stephen.s.brennan@oracle.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220202171821.179394-1-stephen.s.brennan@oracle.com> References: <20220202171821.179394-1-stephen.s.brennan@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BY5PR17CA0020.namprd17.prod.outlook.com (2603:10b6:a03:1b8::33) To CH2PR10MB4166.namprd10.prod.outlook.com (2603:10b6:610:78::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bfb1220b-7e66-4955-3561-08d9e6700ac6 X-MS-TrafficTypeDiagnostic: DM6PR10MB4236:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cyWj4MoMYJTN9IcPj7XfVgv3Vw/Y5a/Szpz+OMS9LpwIHn18H5YVhP+Bd/omVuvrjsB0mNvgRjr/BeSY1jlLEKDrxgF3tvPTK7w8JLqzPvIRZPkZNs5AoQ2idnA8jUfJUhiMJ2ha210TesbqyMTkQFig6iMs8Yfpg88HDpzIl6qnRCRWqnyOssAx3Z6lyiQ3cqk42obOZ37/sNz4C5/yyj2PTxzWE5zpd6jTcHW79In+pUluDylP/8wCSuo3l+IPiGs/uztfPPhIWRTV1PreeYX+ag4iGlNGS0Q9ikaYkBgmkI1TnRUVlux7w3sa7yPr/EziNZCg6jXzvsTlsHkaX0e6hqIe7yE5nUwEeEpULTAazFAO83Cv2FpX34BF+maCT6tAXxsVgJ2dirF6ENjmX4vHQVUYmKPuxrMQtDz2jv2Z/852z4Ensn6iOwIZa5TE/CWPzWzp5Yt2QyBnq7H9FqZgofjF3YXjj2+xQox78yp2DIvd/3AQ2FQfLidzUV8XIRqe1scRqKw4bGpiUf1r1aS4jTTYQNO+CTzoZNqEZ3ybKvUDmhgP+5rtK3/7lgJSUNQqW6E5Kxv4hwPmCt7GUAAqfNl1TCr0z3DWNN5Gp92Z/ykp8YXljTRgXtPUfR13ZeGVbg58o2M2PUoSLJySUL6Y3WiUMHHvUt1uauD34NYs545/1uRyu3GVY4xXt2qT2p4/mApohiWTJRIV/wJ4tA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR10MB4166.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(1076003)(186003)(26005)(6486002)(83380400001)(2616005)(107886003)(36756003)(2906002)(103116003)(5660300002)(86362001)(54906003)(6512007)(52116002)(66946007)(66476007)(38350700002)(110136005)(38100700002)(66556008)(6506007)(508600001)(6666004)(4326008)(8936002)(8676002)(316002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?kOGXujxlJJx9cheAfOOnoo+9PXqz7NUNqrrZtip8g813WsO9Ta8nUBXAePzT?= =?us-ascii?Q?Hxhy8K24KC5Nytx8QzDUea7XWEFLxekC+khJiXCB/7uue6cE4M7n2rcabuHv?= =?us-ascii?Q?4ywVZ+HWMZlKQB8/UZcHFIflpwbVLw95z6rI2xHq7dBue0nCJGhp5AsTIT4Y?= =?us-ascii?Q?v8KYWYtUhgJBeTLPcS2Bt6Y7tqYss87nuVIQb/uBbCIrpCoEws8KUlHOWAu7?= =?us-ascii?Q?1YjaHB8ewUdIDSSa7GcDWJOMZF+WZDPEECu2pB5sqhyJJ1vBOe/QIdu3sfoL?= =?us-ascii?Q?B+zS+Y3SPdMviczC1FHzHNUlpbqe2lxKmhctaw20qwoKgMsdyDH3/FWEgPuX?= =?us-ascii?Q?KNC3S5CMGW8DJLk6EzIUxsaN+RPtuIblmcEDTvEIYCPxyVlOf2SPYaNIoKRe?= =?us-ascii?Q?3kNxcqinEuz6KgsN2JXIj3OOipzlt+FmGh6s/itwC3wm1qLuTVTiePXtLqZt?= =?us-ascii?Q?pDmuO1vwniDF8aGdV22dKB/le6N+rYi5LZrjTTAzivNN4d0wKdKvovOtzfsy?= =?us-ascii?Q?x9MLpyS/TXtwfMOyizO8wWpmiWD7WYa40XPUG6ZXRqq3qLoW78uao+jAc2pp?= =?us-ascii?Q?Vl5bluIFPh1tc59qvxOOLRfuJ+Iw8AEDUX72sbyYkFN0kvc1ooR48n7kG4Fh?= =?us-ascii?Q?U70EzCoAiek4FsFT65VMT6B6vTax5MDukx04Mb9xliwYrR7NFuuITCuL0COa?= =?us-ascii?Q?Ic6ca0ZAeR0oGGQSxaJK1HFMCzAa91XT2I7ffVieTqMZg+eqX90NwyB6jv/W?= =?us-ascii?Q?t9/JUO8BPj4ssQRimG2huwYb7B8mW6xw/055jFLVVSq8u8YwQL79mRf3ZQom?= =?us-ascii?Q?n+6ZAmrKBolUph91DUwd/6rAFM+rM/KqK99+CEApvPHqkfiNumkHehgqaG+M?= =?us-ascii?Q?TqlKZWG700nxecP/wmulVi1i9wcDgYqGPL5MWH8PHd/M04TZOUf0iT+P9SuQ?= =?us-ascii?Q?x9Ld5VhTsastnAolzZ30zXuUuI1D/fkt/bdhJ+bhY0Q+d8me6sqlFES7kG6N?= =?us-ascii?Q?hxHvKA8XUODKch8TgoExztX8iXNDSc8V8JI8i8MZ34cb6gvZ8p8H+PZG2Tff?= =?us-ascii?Q?r0cDrihHOk6DytNsc+Bb6meajmUi4p05IADduWR62eR26FOU4jyEJzn2YO7k?= =?us-ascii?Q?1lCHI1eJ+oIfCWAQNB8YxjzipFwdi31hliwCXHOL0wwQsV9bWQFj4Jy7iXzC?= =?us-ascii?Q?Zw2cTfClWAdd8tHwx4NmqSHeft253dZRTczLao/jyps6ewzcSBX4KPT42NXk?= =?us-ascii?Q?HNOvU/MSBMyt1KPDJI6v0mbWUX3/oAwDbVbwosN0ApM5CMaUImW/128x5Jcc?= =?us-ascii?Q?EDKGNjbQ2zu9bEV2ghJkrY0OY73JqvThrM03IKSdeAyA3O+24c4FM7azDleD?= =?us-ascii?Q?53P/65mz3WmXgaBKZR42jg11xIPYTjTWjV9YbjqFOl35VXKqERf8OWvRe5rs?= =?us-ascii?Q?Lac42p689WKlh7gh3eL6e9wwOdTimsKZ7TtFIdiVGrpUKI5UmSg4xUU/3AXX?= =?us-ascii?Q?53Q8pemEpxpmCkGiYxcfjk5u7+9/eXhJBxwMRMiqnxuhBa+0N9qtY8s1389A?= =?us-ascii?Q?9qqDNTbH/QYzMqnzjoLZccNMvAy6STo4HRo/8DlMWScXFlb/YC0le+CvMzmL?= =?us-ascii?Q?AfSBRzPlryHU6K2+9iSU9Vb9737M0diWpRIc9lgwJbNg6jeWSzvY3TG8ijLK?= =?us-ascii?Q?MoUqvw=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: bfb1220b-7e66-4955-3561-08d9e6700ac6 X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4166.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2022 17:18:34.2841 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: vuH3996yuAhsZa3ArV+Vydvc7vvikrp1LvFbBA+lcYW8LSNsuKkkaSejNZNwyJssldOAsst+hUywUURDz7nJr28+6Apcj3tDz9ZapSK3L8s= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR10MB4236 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10246 signatures=673430 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 adultscore=0 malwarescore=0 bulkscore=0 suspectscore=0 mlxscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2202020097 X-Proofpoint-GUID: H99jLAZDGZEasr6OWl49C9z3_HUPDZ99 X-Proofpoint-ORIG-GUID: H99jLAZDGZEasr6OWl49C9z3_HUPDZ99 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" During panic(), if another CPU is writing heavily the kernel log (e.g. via /dev/kmsg), then the panic CPU may livelock writing out its messages to the console. Note when too many messages are dropped during panic and suppress further printk, except from the panic CPU. This could result in some important messages being dropped. However, messages are already being dropped, so this approach at least prevents a livelock. Reviewed-by: Petr Mladek Signed-off-by: Stephen Brennan --- Notes: v3: Use pr_warn_once, and don't break the message line v2: Add pr_warn when we suppress printk on non-panic CPU kernel/printk/printk.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index dfac84876e7a..736f00d33087 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -93,6 +93,12 @@ EXPORT_SYMBOL_GPL(console_drivers); */ int __read_mostly suppress_printk; =20 +/* + * During panic, heavy printk by other CPUs can delay the + * panic and risk deadlock on console resources. + */ +int __read_mostly suppress_panic_printk; + #ifdef CONFIG_LOCKDEP static struct lockdep_map console_lock_dep_map =3D { .name =3D "console_lock" @@ -2233,6 +2239,10 @@ asmlinkage int vprintk_emit(int facility, int level, if (unlikely(suppress_printk)) return 0; =20 + if (unlikely(suppress_panic_printk) && + atomic_read(&panic_cpu) !=3D raw_smp_processor_id()) + return 0; + if (level =3D=3D LOGLEVEL_SCHED) { level =3D LOGLEVEL_DEFAULT; in_sched =3D true; @@ -2618,6 +2628,7 @@ void console_unlock(void) { static char ext_text[CONSOLE_EXT_LOG_MAX]; static char text[CONSOLE_LOG_MAX]; + static int panic_console_dropped; unsigned long flags; bool do_cond_resched, retry; struct printk_info info; @@ -2672,6 +2683,10 @@ void console_unlock(void) if (console_seq !=3D r.info->seq) { console_dropped +=3D r.info->seq - console_seq; console_seq =3D r.info->seq; + if (panic_in_progress() && panic_console_dropped++ > 10) { + suppress_panic_printk =3D 1; + pr_warn_once("Too many dropped messages. Suppress messages on non-pani= c CPUs to prevent livelock.\n"); + } } =20 if (suppress_message_printing(r.info->level)) { --=20 2.30.2 From nobody Mon Jun 29 21:06:51 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 539DCC433F5 for ; Wed, 2 Feb 2022 17:19:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346208AbiBBRTH (ORCPT ); Wed, 2 Feb 2022 12:19:07 -0500 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:19486 "EHLO mx0a-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346241AbiBBRTF (ORCPT ); Wed, 2 Feb 2022 12:19:05 -0500 Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 212HFa89009072; Wed, 2 Feb 2022 17:18:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2021-07-09; bh=yl9c9wZ4hVCPewVGktKfUeMsYgnZ9e2+hfWTqtGl4/c=; b=bmjQaWG8Fn2MDLZ5bPsBwcL3ZIhPPb88ImgWX0z37+x2tbsPedtKlX9jVn7sPaAlkMKI 1zXMRtnh+bqGWVwMiaJsSjBeQaSRbMhL4e1fAqQ4ru+D0bpodytgNpG7q0YwGL573Ce6 2Jb2pYnXsEoEaS46r2K4NpKWBrtBeVV/W9Q/1n2ztMORMJIqvY2g9nPc97fXxsDFnLfB tSsXKA5zs6N9DiBkBGb8SjKHazDFXO2mHgBXr5kAqxL9uVvNuBhphmKr0pQBuslvErao V0Z80TdVUbhjY00WxcvrmDvfp+EqbEvAnT0z54rcQdzd54U7T3ItxDykb0IJfiR/03MQ Dw== Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by mx0b-00069f02.pphosted.com with ESMTP id 3dxjatxtyq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 02 Feb 2022 17:18:41 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 212HFjJm196011; Wed, 2 Feb 2022 17:18:39 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2105.outbound.protection.outlook.com [104.47.70.105]) by aserp3030.oracle.com with ESMTP id 3dvumhumfq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 02 Feb 2022 17:18:39 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=m6fItfni3d3gtsuZycNXyIGRfFx7Bad9+PaWdPRjvZ27ICSn8sRuBIZpjJq4NuVseV9hbwaLFzHHFd/ASh2FDk5yfgc2cWsnzHD7HhNPTEV3Hj5vQWdC+w2FojIC5a17PKcouTke73MpZe/xBIJiBlesFxRMgCTQK9imjJTIGDYT6H9vrotG8zGiGoUwpt/5QxdsOCRgd6Pi2cqYu60IjuV7TR+YDSAeb2Gv8CFy+gnPGw+vJ0A8/qC8VR1XoXcrTAK1BudpApdiAMuFwd8TpIWww86Kq55yZfTuQ6w/SEkJdMc1bEYyZIw5nxdP9wo0pU3tugikQdEhICGTo6RTdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=yl9c9wZ4hVCPewVGktKfUeMsYgnZ9e2+hfWTqtGl4/c=; b=Rlq7w/N9fIDAilNAl0N8FZEklfAqkqAqp8ODq+RIeMtbDN69a1ftUvPfa6Xd/GUdVn0wrQb1Q6c7xRYGICqRcYwRY1W4NcVarDjxBOwuMF4jHmIjhHgtCFO0cHApHEnUjKvB2TaGSk3O/EsIuyPilEfVDBOAzuhsOcasBP+cmWiopGNavTjfx1XVSO/vWk6/fk5BKWizjCqzm/G3Qs75GqWFASzhZF73A7urxexvkiqRquJ0tstocyEdI8Oi/b6ZeZp4lmeOOXF3ssuUogmaolHADqj9cSaS1ElWvlxn+v7KbBn/U000dGxg978jg7U6RXq8gSEk/iBkykriclgbgA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yl9c9wZ4hVCPewVGktKfUeMsYgnZ9e2+hfWTqtGl4/c=; b=OjEGJTekEztbOruP1JHKfgIGLvQLnX72A40AEUmjCjXHYRaQvxv5a57gcEJSvUzYxphxEV3gLX7jVb2K9BoXyk8myWp5QZ8kMzkzvSlU+1vlklAYXlszk/4KDG2taNGj67Sue+vGAKOPSC0EfLU2gI3QlF5hUHZ0ciO+flpJc9A= Received: from CH2PR10MB4166.namprd10.prod.outlook.com (2603:10b6:610:78::20) by DM6PR10MB3531.namprd10.prod.outlook.com (2603:10b6:5:154::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.20; Wed, 2 Feb 2022 17:18:37 +0000 Received: from CH2PR10MB4166.namprd10.prod.outlook.com ([fe80::f4d7:8817:4bf5:8f2a]) by CH2PR10MB4166.namprd10.prod.outlook.com ([fe80::f4d7:8817:4bf5:8f2a%4]) with mapi id 15.20.4951.012; Wed, 2 Feb 2022 17:18:37 +0000 From: Stephen Brennan To: Sergey Senozhatsky , Petr Mladek Cc: linux-kernel@vger.kernel.org, Steven Rostedt , John Ogness , Stephen Brennan Subject: [PATCH v4 4/4] printk: Drop console_sem during panic Date: Wed, 2 Feb 2022 09:18:21 -0800 Message-Id: <20220202171821.179394-5-stephen.s.brennan@oracle.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220202171821.179394-1-stephen.s.brennan@oracle.com> References: <20220202171821.179394-1-stephen.s.brennan@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BY5PR17CA0014.namprd17.prod.outlook.com (2603:10b6:a03:1b8::27) To CH2PR10MB4166.namprd10.prod.outlook.com (2603:10b6:610:78::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7d4ee65b-a808-4ab9-27c0-08d9e6700ca8 X-MS-TrafficTypeDiagnostic: DM6PR10MB3531:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Y0oSSSdEIwURU7zrIEjlF9vONLgVzp/ObYi+Wfli2/VCQNAySz77BNLojC7+NPU8AiAdL+TpkBOOYmpykCi/7vmUvjNAqdrQAkZNCVGUTINvf+Cn5SPMdXRPvYJIPisFeNuVuGYl+vKzpjHulsFcRx/nuTDluyq2ZaHmydVF2ZsFRVp69xzQw2B3Te+ZhoFGUx+kFst4Q5R+nYJiEYlJ0RmqQgCfiXvXSXJfZhofjUh4blYtKteCmdbBGmzSDfEmQDL5ghJx+yxGFvoabHgTlxHpi0jVW+pBdKb+N2fPNYYA+KZ9P1x4Wm+26jp52PIj/wSj8Qu6yIp0s6beW1aU/E90BjzpjDfI9DP5RDNJyGqe+NUo2lrtigsXaBVieXkKzcohO87JjBdk7390o6P348c3ruNcr/YU72eRMeGt4yIzkfMzP4ivj5ex+y7V0HyuYKfDXfA17a8f2FoEjZgKz/vbvigGBaiFINDgaMlf8Nsngi9TxaJuVDOzJCzl3o1ydvri/wQWw7tcZxTtP7AeRVwXAQ0wtSbk/mSH4pI173i0sxElspRFbZxeL+YEz9MssQGxbOXr5dw0leiQzEezXmHa69x2fHSMgk/OoeZZLBdoieSkOdARkikfHsqO0hAWPvPbXQm1y9Og0pK2WkWP+aocG57QmSFJOzd+H1PMRvGGCGMp/DaPrP690Qqwtil/aR7f73ibBhGF/Cmy1MkQdA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR10MB4166.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(2906002)(83380400001)(103116003)(1076003)(186003)(2616005)(107886003)(26005)(38100700002)(54906003)(86362001)(38350700002)(36756003)(4326008)(6486002)(52116002)(66946007)(6506007)(6666004)(8936002)(66476007)(8676002)(6512007)(66556008)(110136005)(508600001)(316002)(5660300002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?LtjkIzYS13NfSYxKvaYWdnMZoWo8Wh80cbWsX0qWMY8lgzJdJ3KRRCPw7RLy?= =?us-ascii?Q?g8Rb6FT6gHMPz5hsJYVEgUcsmiNRaCFPSg2T2sDaW+KUUXjBZia7VpNbsfxu?= =?us-ascii?Q?/ogxcLtCZYdaMA+QLP4Umb8n64eKpS0KYzbFpQDJ5BfYNA3WqEsrWr0VOj60?= =?us-ascii?Q?s0QQh0w4+fo1V6v7qltbT8HRP9G8pqtbpYWQ0jtTwiJAi6pmxSL1E0Al8Q/S?= =?us-ascii?Q?tekJ0KFUvAEYWVhGvj0iStVhkhq/FQRqvA/Tg1zn07JiE/7g9SDiB8wqLg4B?= =?us-ascii?Q?z3XHvIzGGG10AKNotO3vfNDNP+q9xKP5jDmAugh0FVf5lkOpqCH4/taU/k64?= =?us-ascii?Q?YT65zJeu5hlPEZ5kNoiCiKgiOL3xtP3FwVinZnmtWJ+7DCJ9jwbjWjlalauF?= =?us-ascii?Q?rp/3bTtUDcZg+Hi5AeQ5WjxJLCHlXEiSSirdQR69KleOy+wyA6KgGyuZpY48?= =?us-ascii?Q?K+ENf6XL6xOxcH3RLoLZ3T+OeflWyaanXQ1t6YnzsA1ID7lQTJGj/WaBXsLd?= =?us-ascii?Q?VJkTa2uTe9aXmQdRFWtALAQ/gA3vO23gQa0ZxaniLQKMdMsNMjNB08cSbz7Q?= =?us-ascii?Q?y1kx8+L3LEZDdmBtuUcAsS72K9nHiQ57U5AkilYDpVBCBIZEZ0S6f8Otjwbq?= =?us-ascii?Q?auodw6yX0kF5MhmJwUZ3gJ05KYGCQ6ypuU18067oJAa8Td0+CB5tX3Aw5NHr?= =?us-ascii?Q?xyR3t5PYeN2Q26k9B1l1zJ1WJHnNxxpzoJUrVIvAeAThgP2JCAgf0efsdM7N?= =?us-ascii?Q?hyfKlXC9ao3dHZGO+WF/AW3HQ7Oec+V1iZZE5VKvspJSsGFyBJxr3VNPfSrY?= =?us-ascii?Q?43XbM08zcFmHD9wNRWXizCCUW0biWoyMsVZqQDuWDtpljHT8wlt0XuKOF+Q+?= =?us-ascii?Q?JQSvN9dlfgSclOlNzBhI8YBizdu15ybMAnraZTO1tk3XJRyNpzyecTCbsO3i?= =?us-ascii?Q?FmN74B/q/8GefQmnDl+YWBDxNEyMhbP9DXoGOb7ZfzH9ngmVeAGJDfzqdju1?= =?us-ascii?Q?rGoBd/PuGLXJPQUwGjO7XRjOX/s1DYw6aeuqUSqsfAIoOmbSZijpXqs8NjNa?= =?us-ascii?Q?qTZTDjeMK/9sEl3x3jW2/MBbLhSBpy2a/13Iihv2q5aklWs1yvoRuQrrUc2M?= =?us-ascii?Q?mlvLhRzHnNbCkHOcvgDijtVsy0fxl7nGKjCTzPMJ1GtIv92YfRYC80BQJuxR?= =?us-ascii?Q?Mqaq+GkiB7LUS2XzAI/9Uh3WqIjUWqrz0CKuA1KvD7xFL4DFcwiSfl4UXSDG?= =?us-ascii?Q?dv37VK8tz8EwMg8rc3LyxzRD5jtfO5h/czzSRgxcc23Op5SLpehmHi6iVcJw?= =?us-ascii?Q?LjCnTiFp06xu4REGHYJdoMoTbJOOOcYQdXzIFppvWT+EbBIZXnOfEjPfTwUb?= =?us-ascii?Q?SPyzKQh2mbAd0avK+nGNFn3djqYsV5nMd1fldvExrSvFigg3syIWZOjda75U?= =?us-ascii?Q?vlO4aVQ6BCyvneRGrVZ8S0594fCFhePdHWCGIvKd49+6cEmcW41hCLpcI0yz?= =?us-ascii?Q?4nfHaR0CO+0hfyrrkcbC0Gmm65Dl/MfqXix+I4O0H9KmzcNCJ/UtFFv42Vbf?= =?us-ascii?Q?Lq7zOqMeMnzK0IFrVthwUqJcQ0h+CCzRvtkK/mmteHT9PvNYnSAlZ6op1AQY?= =?us-ascii?Q?GLuyWVPvhNO7MGeh/MclZSSMwR6WfbnAJfXwyNK7bCethIUjOgc+7oIKqHCe?= =?us-ascii?Q?nBUDsA=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7d4ee65b-a808-4ab9-27c0-08d9e6700ca8 X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4166.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2022 17:18:37.3958 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: vmo9OiFnBv4MrkyZVX0Az6P9pHXXwtT3z2cZ5yzL9OWShtiiNtlWcShLV5RBlDD4DuuJfMWzbSnzFxnHWqa+JVMvCOq/0e3wmawpOgb7ox0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR10MB3531 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10246 signatures=673430 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 malwarescore=0 phishscore=0 mlxscore=0 adultscore=0 suspectscore=0 mlxlogscore=999 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2202020097 X-Proofpoint-GUID: fHQX3ynWskir6NjRbm6w74X9t6wONZeQ X-Proofpoint-ORIG-GUID: fHQX3ynWskir6NjRbm6w74X9t6wONZeQ Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" If another CPU is in panic, we are about to be halted. Try to gracefully abandon the console_sem, leaving it free for the panic CPU to grab. Suggested-by: Petr Mladek Signed-off-by: Stephen Brennan --- Notes: v2: Factor check out to a helper, and check at the end of console_unlock() to prevent retry as well. kernel/printk/printk.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index 736f00d33087..a174c4b2d156 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -2598,6 +2598,25 @@ static int have_callable_console(void) return 0; } =20 +/* + * Return true when this CPU should unlock console_sem without pushing all + * messages to the console. This reduces the chance that the console is + * locked when the panic CPU tries to use it. + */ +static bool abandon_console_lock_in_panic(void) +{ + if (!panic_in_progress()) + return false; + + /* + * We can use raw_smp_processor_id() here because it is impossible for + * the task to be migrated to the panic_cpu, or away from it. If + * panic_cpu has already been set, and we're not currently executing on + * that CPU, then we never will be. + */ + return atomic_read(&panic_cpu) !=3D raw_smp_processor_id(); +} + /* * Can we actually use the console at this time on this cpu? * @@ -2746,6 +2765,10 @@ void console_unlock(void) if (handover) return; =20 + /* Allow panic_cpu to take over the consoles safely */ + if (abandon_console_lock_in_panic()) + break; + if (do_cond_resched) cond_resched(); } @@ -2763,7 +2786,7 @@ void console_unlock(void) * flush, no worries. */ retry =3D prb_read_valid(prb, next_seq, NULL); - if (retry && console_trylock()) + if (retry && !abandon_console_lock_in_panic() && console_trylock()) goto again; } EXPORT_SYMBOL(console_unlock); --=20 2.30.2