From nobody Mon Jun 29 22:12:27 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 A5C85C433EF for ; Tue, 1 Feb 2022 18:58:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242068AbiBAS6n (ORCPT ); Tue, 1 Feb 2022 13:58:43 -0500 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:18248 "EHLO mx0b-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236132AbiBAS6j (ORCPT ); Tue, 1 Feb 2022 13:58:39 -0500 Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 211IELvW011778; Tue, 1 Feb 2022 18:58:12 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=PknLJi8F0aGObEhYbgnGyUAARitikSD/ZkuzqEDaSMY=; b=BjeOATtSTtz8Dsvd7DiJ2FpG4H3ywudDYzDaequP3niplAkmiELYRCofGo+NJ/ynLn1T s0dn5UvbiMx7lUpm75gLqZnsannlsq0q+qRo1Myg7EXQRUzZ8Dc6FBN+8xZRbEwsV9Jv mz7PRVrPl8icbe1lTSnE4fX51D0y0aj6f7WABHxdYauINH18yeHPNf/MovU7ZGfGEAwY OxmyI2nSb8Rbcyxg+pvQDMTMiSmMeW41glP2vNC0atfXelWHCXqar7ohPfR7oNpovgd8 wvvSli7XlTwcHeWzuKN00VC+03nIOQgqubeSIzM9N36EUWwKRdJxi0msKLuwv3Fov3oT iQ== Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by mx0b-00069f02.pphosted.com with ESMTP id 3dxj9wbttt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 01 Feb 2022 18:58:11 +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 211IpgaN040413; Tue, 1 Feb 2022 18:58:11 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2044.outbound.protection.outlook.com [104.47.66.44]) by aserp3030.oracle.com with ESMTP id 3dvumfxus5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 01 Feb 2022 18:58:11 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=h7fKrkK6QRWYeWvGVnDjdvw9i8OxYEY6rxY0UPt5q80jXxfSfLbK+fq0idTAZ96riH2A7aAxPPWabYAKMTTpwwcT+Y3aLr/5HNrLAjuSjEGY//cAEVAiK4mKeVvIITG9AuuOxDodY6pbPGfJ67GfR4wfAwfgVSWG/k2DIz3UMxGXJ4qe00CeI/k4ohQsmi2cn0PNlJ4v35qS/MmmonR5tYXji0mzXRIaFiVBo7jJwsiOa1PZAkBT3DuwpkxDPEavoCEWgv3NQLEdSSHo/N7LjkKJFBDYQoVKVyy9EYjj6wq4tXeE11pO19i+/en6cZBcpzuhCL/cE/Grc9cOiB3kEQ== 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=PknLJi8F0aGObEhYbgnGyUAARitikSD/ZkuzqEDaSMY=; b=gVS35I8jYjRlSRVsSbEQ2zS4Q4FuQMyoK4WwV2+M6tgnFMTpZ6E2Lqa8sRGLxhNhO/IqMMZvhJr2G8u3mIq418ddtSZAwLGbRxrPzIEJR5220UBMTnaALsBS0N51YLTdQ96rpodDzatC/Qy7kJwF1g4mM9fovH1SYO/k2SJvSXx2WwmuEHcGd5RvyJGykayg8CFA6GU2ZMmqHambmMSNPIxy1A668LMpbOwUlOS4Jy9vwbVWijHIXQEfsgFx3COIbnJAXhx7ohICN9Rh0713f1jisFYbEzvrZHRcvlcpu4fu9F+eYufHERC6ug2UQk3+DKgoEhlHmXjHSsEqGUj5pw== 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=PknLJi8F0aGObEhYbgnGyUAARitikSD/ZkuzqEDaSMY=; b=IVyax0WnEZ9WJg6gs/j0tdUXNCJTU0tGfQ2+MuwjOvrEsrlGb2WFleTazW09Vroxos/MLHx/ZqtALDnJvEXNAEt7ixFz9dShvBc/QmYmPArF3OT22FDUZ5tZ1vz2/aHAnb1LMfL5LZVQJwMqOFQEf6X2dqV/BAQ6K0excYlaeBw= Received: from CH2PR10MB4166.namprd10.prod.outlook.com (2603:10b6:610:78::20) by BLAPR10MB5156.namprd10.prod.outlook.com (2603:10b6:208:321::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12; Tue, 1 Feb 2022 18:58:09 +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; Tue, 1 Feb 2022 18:58:09 +0000 From: Stephen Brennan To: Sergey Senozhatsky , Petr Mladek Cc: Steven Rostedt , linux-kernel@vger.kernel.org, John Ogness , Stephen Brennan Subject: [PATCH v3 1/4] printk: Add panic_in_progress helper Date: Tue, 1 Feb 2022 10:57:59 -0800 Message-Id: <20220201185802.98345-2-stephen.s.brennan@oracle.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220201185802.98345-1-stephen.s.brennan@oracle.com> References: <20220201185802.98345-1-stephen.s.brennan@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BYAPR01CA0051.prod.exchangelabs.com (2603:10b6:a03:94::28) 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: 1142c20b-5222-4df7-ea0d-08d9e5b4c9a1 X-MS-TrafficTypeDiagnostic: BLAPR10MB5156: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: 5K87zco3k4P0CtZ1pMnJKTmHzYMATFDCTUoimVkLbt/e5rUUBSRcywOyQrfBX0pzfXjFUMwCrNMTmmxHWYWaqKaqF7Avvduy5lcGuMPLR/u5/8/S3JnS2igeRnigNI6v2RpXLn1zdb1oXB147LhCPlA1QC7MUB69IdcyZVMwazvVWlhaicd+kTevEu8TJE19hDDo3xwbcUNmTtidvctAvRXGr7I3mzEU4PinVu6erAVqnvySiwVZLNAQoONwtD79NI8xoC1H9onwYqvw2eCKt8eQhOM8Y3TMv1OUQ3pns4kbFDK7DiLouSDlv8joxTk+pe2X/nXrlIpPe0IshUWm+JJHeseWIoorXB5k5K9P8yx6H/r7mm/Tzpuk18YVOXm55UZJwB/hjmuov+QBV1unQKFIrsAjEeckx9jYmUGOJ3ppUfQPhO4TiZFR/1uyvicqlHGHadnr/xcpkiE118nuEAnHB184tKbGIXjTNGgLHB7kUq6Xuxp4uRLu9Jd6Dwxgg8iciadLyuK+OzP4E6MvyEveTSX9PeojLk53CWhILGMZYet96cScyHKavPgitcc7clUGdlVYs7E6buHx9XOkJHZqxXHXTVF8ixc4cjX4Bdu+zhjJftQXsZHAEGqQzhQ8ccRPEOzDlZPCZlzWw/q/+bbT5NUsG//1S42i6i48NrvHXsQKyg8cEWsXqOq+rw15KvkIbOYkHV7qZCvjBQcbdQ== 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)(103116003)(6512007)(6506007)(6666004)(508600001)(66946007)(4326008)(66556008)(8676002)(8936002)(54906003)(110136005)(26005)(186003)(316002)(66476007)(6486002)(83380400001)(1076003)(38100700002)(38350700002)(2906002)(2616005)(86362001)(36756003)(107886003)(5660300002)(52116002)(20210929001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?isaWgyD2nR4XBAHfAxZ8R0dN+zL0K0bewVSKv9kT+6CRFKj6OlaaJUojNP2C?= =?us-ascii?Q?YLavyHNnzpeVc5UyITrHPAWx51x2KZKx1NB3KO5qrkk46HDtk7eOW0JBYIPK?= =?us-ascii?Q?QrFECl2hmU7xBMPgteHh6B2NPAjakRSDcYWChSQA6TTbQ2M0GSBEDCONehB/?= =?us-ascii?Q?8gXvd1DdwggdG79CJ2QDqAU9kzdz/tFE1HSVytckWJ4M08nKAHdyf/BaPgzS?= =?us-ascii?Q?gOXymtb8uFwohYHfjgo8tJR4PT3gz3QrJE+wk9d0baA8GeDK6/V7F91zxNuv?= =?us-ascii?Q?xMC/Lu/s1c5mClL74XMvMi3Q0E0Ud+x/qdnrR9T8QzEAGYjxcrr8T0YjlDMP?= =?us-ascii?Q?QJdF/ZD9AZ5rr/HQqgza9VI0OXWM/ym/ukdWuOZzyx468YLoOsAATnePEO2e?= =?us-ascii?Q?i5vIzaPiyNoyxIReEIu6BJAWJ+vNxKqGzyrNzFyJG4417DUNnCgoGOHS3VgC?= =?us-ascii?Q?N/ehvsREgEpcIl8zmDhuut00ggYSxixbFYxopgBIUD3kQcHUWh3d8Nr4dyrK?= =?us-ascii?Q?z1+n/jZTeGqlps79cJq8QyUESJzHFoDXcigHXfuty4ptLNAjemYhs7XUpQZt?= =?us-ascii?Q?/IRIuBgkZOeATQlYENWUOXNWISAf14MHHLc0blBD0evIin8WEK1HOtV0yThm?= =?us-ascii?Q?h0tExXYoELzLxAKCSDcduHgDVQ0aR+j0bah2Iikw6mUCAXDrHYqAk8TK/12U?= =?us-ascii?Q?tDuBNDqv4fZMYy5pnHKWrGEyHRs1Ba6qONYV61kKQjAWzBTwaw6l1UDzEeRC?= =?us-ascii?Q?a26hSILFi0zAeJAanYNF9fDtdX8RXpbfvXj79Oedb+SzrhAyQKLWwPX+tysN?= =?us-ascii?Q?7hOAUypEqt0kJyjyOUTTUIeO9NGqwPaCRzUBPDaawO/if8sNKry46PYl7Ky7?= =?us-ascii?Q?RnDs3OhMg26qWQjDNiON5ISoNVHKw5o5+INhZ3LieAW5B2sYQ8w5oxZ7uxsl?= =?us-ascii?Q?xMd2aqxU4Sh1rDCAwDdwvaE3e8Xt0WvNDULY5yEECDSvh39o8OdWPrdD0HRe?= =?us-ascii?Q?42UE61/XOt7bnuK3QGM4Yn97jEoSaS6SbGP6tEKzC7eruTCxV+7FmR6awooV?= =?us-ascii?Q?1uUfAwnXp8EY7aCEwASumHoCkivPPwylEAoo85s32n77+XacC9IG8EC/mF7J?= =?us-ascii?Q?/AWU6CG3zl34JgeU7sdr+gPXEHoUt8kqpxALZPs3+vX0I7KLO/Vy89GCD/uY?= =?us-ascii?Q?VIYboFcwAHnU/2gGt2eHO6Ta7pSf8P777iocnSItiHFutpT7nsJ/tCaZ/qgT?= =?us-ascii?Q?qWQ8J+umVakhT7VdNd0BMAB2/DQCRU0nUSStp8XTMh/Vdt22gzcZTu8k5UJy?= =?us-ascii?Q?6pTqAbxxxDCMQe+k6EkuXB21oniYrcrDEHFow+/wrGc0lCnaOydWXppS1494?= =?us-ascii?Q?tPJdEdz4dJrL4YpD6iKdck/3D1ahI3P5Zjmb7XurAdiPODwvt8lvu+MpSdNn?= =?us-ascii?Q?S43tqhDG0H1iuR+8sdNekrfwUsHOrxCrzne3C3JWwuAjjw3lcsqS8y/aTydp?= =?us-ascii?Q?UXYr8mnKB8e5RtN4MUWv7GqUi4iJFJlJTYkFklFojRu2DI5lorYjvI9uQPh3?= =?us-ascii?Q?w/cgVZI7mBRsO0SQr51JyJ9ASNxendUjE55wxMWKrP7vSnVXeAPAHzZZh6Hj?= =?us-ascii?Q?duQ1jDyUAqMMo4pk4ClYq8objlR9tXN/JqvqQ8Pb7QRBXlu/CXHvFVNgdW2p?= =?us-ascii?Q?xMk2oQ=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1142c20b-5222-4df7-ea0d-08d9e5b4c9a1 X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4166.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Feb 2022 18:58:09.1038 (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: uX095P6JD0/w2CBeCnJXqP4Ye1SkNThGt9ozk+7NaTXIdv6VT/4plOydgu8XQ9v4M/Y8MN5ZNMg+KOvThGlGtHd/xqd8xZUNWaTDBY+2Q5w= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5156 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10245 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-2202010106 X-Proofpoint-ORIG-GUID: qWgNtR2oZ5Ppda_VLf8qgsn1AtUGvuuv X-Proofpoint-GUID: qWgNtR2oZ5Ppda_VLf8qgsn1AtUGvuuv 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. So instead add the helper directly to printk.c. Suggested-by: Petr Mladek Signed-off-by: Stephen Brennan Reviewed-by: Petr Mladek --- Notes: 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..b33c2861a8fc 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -1762,6 +1762,11 @@ static DEFINE_RAW_SPINLOCK(console_owner_lock); static struct task_struct *console_owner; static bool console_waiter; =20 +static bool panic_in_progress(void) +{ + return unlikely(atomic_read(&panic_cpu) !=3D PANIC_CPU_INVALID); +} + /** * console_lock_spinning_enable - mark beginning of code where another * thread might safely busy wait --=20 2.30.2 From nobody Mon Jun 29 22:12:27 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 D90BCC433F5 for ; Tue, 1 Feb 2022 18:58:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242154AbiBAS6t (ORCPT ); Tue, 1 Feb 2022 13:58:49 -0500 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:23358 "EHLO mx0b-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241960AbiBAS6l (ORCPT ); Tue, 1 Feb 2022 13:58:41 -0500 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 211IEL4F008396; Tue, 1 Feb 2022 18:58:15 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=l0JNnneaAhN4VO+ZeUQ737Ybu/HI7hYZWsY6kSYxKH4=; b=LDwfMsqrqswIYUpwcoIESdmIzHfqRVVTC0PI0UcK9+OGEwkFq3o6t36MEUup3/l3EfhT ECx7o9OnBF/iFSg6hTQW2WVmb/0r2PkOqNbEfbGYg8go09CH9yvRTUZKylN4FENjmjx7 FoGZVWwEV/tiTmWJSE6bHpUUut5RRGgR8jhizLb8Ie7Dvbynas+KRCx9Q5yxTDwrTK0R GPfJ6+bGA80HhDUbJREZDauP4xk6L0KtP3ebjz5u1xaNlo+Utvm2V1BqFlCLSjikeFGq 9XghahzP+Z5fh/nwb/UUAxKhX3iSXkXPzY7PgsfkGOBNYaoSDAbC9E0fxZcp4ZyGwdZF zw== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by mx0b-00069f02.pphosted.com with ESMTP id 3dxj9vby7w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 01 Feb 2022 18:58:15 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 211IpA6m162681; Tue, 1 Feb 2022 18:58:14 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2049.outbound.protection.outlook.com [104.47.66.49]) by aserp3020.oracle.com with ESMTP id 3dvwd6qkaa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 01 Feb 2022 18:58:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WGuEUhX7L3cJhT0+ujLuIck/U+M++XhShNDnd9e4xaLqJPTbr9KF68mlA6IRaanRu9ST+yd139xeY/teNKjTPwxicUFWNbmoWGZtSCQ6Uuj0KrdRj15Az+0VOI/8z3dw76VsWCnS0zXnqHoHZsEjjjP6Kz510IOJ9Hb/HRMNgAmGpfDLzdbGfCOB8I4sKvgsicjAIuRc0w+gRGWwgJKHaz1FykYpbBN0q7JxHFGChVo2k5BXu2Im5fvyk0+K1bU9Nql75y9Sy7w92JWB0G+E3DpPOWvcKZY2PwRQy0l16AoewxEQfbs3AYEKexs4gbIyuOYKjZast58jDjQ3uP93sg== 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=l0JNnneaAhN4VO+ZeUQ737Ybu/HI7hYZWsY6kSYxKH4=; b=F89GoZm5FzWjcVh/NjX12LC9iWNi3Bnzy9BVrSOCoQeYwqwgd75BUzhkB0l8mW7ihlcA+5twwV+nRtF5JIrJ86XhYDIutlvuuDIi5PTq18PHY1uHwp9b/W1Bka6NkYmmSVgtUAWUsqN+Y9Vvy6+7AsX7VgfY1pVbPeKPSea5U76On+l6qSKTDU/Z6+PcFIcZ+CEmBjNeNvBXIstK4IC3F7quqMo9mBgD0GlTQGoXsZYveZUdxHg1UqjG0XP/5i9A+G7gHUtljOeI+zhdp1IMB/s3meXHC8fy+lLN/pDdnvwnOIfKyhzqXeW0K+esxWHOfgB9f4ZYOrQYTDdVHqp5YQ== 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=l0JNnneaAhN4VO+ZeUQ737Ybu/HI7hYZWsY6kSYxKH4=; b=j309UfMxpl8AXq/8VbKvl10R09TxBOKIxxjO/Ho9CbLFrzb70f/Ag0jQxtiKAVVz3n0oMGxX0xYnzuQjrQZeGOs0OVQCg6Rw6kZuBiC5bGiMxowvqx++uUZj+xHgPHSklo4WlD3tt/KUgfCY5EgPguBme8tuWvs3vbNhZFxIvr0= Received: from CH2PR10MB4166.namprd10.prod.outlook.com (2603:10b6:610:78::20) by BLAPR10MB5156.namprd10.prod.outlook.com (2603:10b6:208:321::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12; Tue, 1 Feb 2022 18:58:12 +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; Tue, 1 Feb 2022 18:58:12 +0000 From: Stephen Brennan To: Sergey Senozhatsky , Petr Mladek Cc: Steven Rostedt , linux-kernel@vger.kernel.org, John Ogness , Stephen Brennan Subject: [PATCH v3 2/4] printk: disable optimistic spin during panic Date: Tue, 1 Feb 2022 10:58:00 -0800 Message-Id: <20220201185802.98345-3-stephen.s.brennan@oracle.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220201185802.98345-1-stephen.s.brennan@oracle.com> References: <20220201185802.98345-1-stephen.s.brennan@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BYAPR01CA0057.prod.exchangelabs.com (2603:10b6:a03:94::34) 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: 6979920c-06df-4293-054b-08d9e5b4cb6e X-MS-TrafficTypeDiagnostic: BLAPR10MB5156: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: rb/e82xwmz86OmW1t0kdS6AP9hG8hNh+rClztWqi/GDLUggJ7grkrLr5EKa607f5R0rPrLWa5JQSjmIMZTqZ7b6ixQ8QIc6TbjJfLqeolCtspQ9pWpShNv1t7JoK3pZZErSUfGNUn/UGhocOkpiOWSkNZoxhvBVkzHwOKUUm028y9UZ79gcCKFz/7f6A/IMnxNH6tPa08iNL2Qf9XAfYkb3mKdnVyDxSbp16JPqEsBpB1qPrX0PUgqxpSQW2XoMPcjC99Sf9+4ZTQP8dGQBtddDhH9FcXTEB10ufGoX1dUjp6ybuWd4szl9NrZeIK0l9t23LfuVhkN1QL3hdJsWebnCPavrM+cz3hlr7KZj2kllw0lvdI/L+I4F+KVvwA0pCBO9O0o0DD1x2k4HEzJ0wc+CDKdKsxSMKbuX40g/QUqHwS6YT7Tj042N6PcfVlGp8fTf4zsFcWSsDyYMCR2fe9A+qvkT8Z1jd6ne0mkraT4R7B9JX3F5+GhK6IdV/r8SRuSjOkM8yowYCYX9Expu5MKFMGRO+JbHiZavE+K3ISD0qKe+g3AcmMJncqaRKaYjOSahzwKps/3510Fw4lRy8QjOwLC0eip5y22xQgON6pEC3fSX5HdJ/P1AMyUfaT+Fx7iwOq9nHhyf40aemegVLA5TmhMNpaKxa/nERqTQ0AVNALtCMifGPcekyyVjfAF+aqxpQZqgO0qweUQqt6IVr7Q== 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)(103116003)(6512007)(6506007)(6666004)(508600001)(66946007)(4326008)(66556008)(8676002)(8936002)(54906003)(110136005)(26005)(186003)(316002)(66476007)(6486002)(83380400001)(1076003)(38100700002)(38350700002)(2906002)(2616005)(86362001)(36756003)(107886003)(5660300002)(52116002)(20210929001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?TPodl36N7iFlTTbhCMiu5HkpG2fxEb3df+cO6fiYzBcmS9mAQYRhwownCoB+?= =?us-ascii?Q?8N0z5C8SHw0+v1cL6ofdU/YwB+Ljnn3z8RwUDEVyI85uw65wu84MWT1aB162?= =?us-ascii?Q?i/0xethrUDeuBHASBv2si5V1c+JXlOxsoHUEa5GUKPLSOLcB3lIAnWAymQdb?= =?us-ascii?Q?GP3Zqb5tM1oo1UP6C+vN9vGd2+/YJM4Q7f6iD/5jmJtseOivIMhtso97uUuO?= =?us-ascii?Q?VZzQPx4M8SlBcSOcNgPrUq71rj1iScCMUyB5cj99wVXvZNQ2e/RlMQzkmugY?= =?us-ascii?Q?N41BdHcvvUAuTtN38GFTI33M5cLf+Fml90aBYUBJZeJHh5PtcKE0zHwbhZvr?= =?us-ascii?Q?cOp+tlmBSW4rwxi/6g6Od9q3flv3zJho1IVEQ5NshnIj7gNmf2b7rlQj3jEc?= =?us-ascii?Q?6XI1rS5o4k/sUh6nmMgvGddz5TFlQ9Y0CtULqG3Y1a60uYYqWAttCo79GbR3?= =?us-ascii?Q?fsuEy+hbOf4R9gJ2HKC0V5WiZO0Ux8x2jjyma/Qb7ruZU4O5YgASiMKyvFQU?= =?us-ascii?Q?tbwC12aVsYoMQaYvMEsUfufsCD5gO+tnR7sh0iy1/ejdoCONxeywmUQZLF+7?= =?us-ascii?Q?MiznEP9F5QmMZJsjJN0tEJhaq7eodPknxDT+mEuqK4I1uGvkH3e+TWAfcfRQ?= =?us-ascii?Q?X/AQgWuuYn327KsnkBPUFBDw6N4Vv+1JJZ4+7gn1DoEqs/nzTMLPI8WhZ7aP?= =?us-ascii?Q?/blyIBO+QFPBLUz6d0V7QHfe7sdwd/BQ4vNVYo2Vjxgq6GliSpNz7fxe9uRw?= =?us-ascii?Q?HN9MTieQW+stILV7JuhNWW8M07iBhGgBtb3xc6H10+4AlwhySVpcxySu/36D?= =?us-ascii?Q?nspsorZ0IpLzSWpBAIWaXbPW42rMsDQTiI1DQ8aqtu/6NWjjb4mz1sKqKse/?= =?us-ascii?Q?GLd/Y2Q8b18ZpscRCyMTxH4WZcnK8AiPt/+PnL3SuPm1R1zjPYEqhMxy6cCw?= =?us-ascii?Q?QP4JhIEwjKrofJ9yBV7VaQR1XK9HHgYd1s4c7gIHXYj6wIct16uiN/vnDgzw?= =?us-ascii?Q?RlJA01vuGpVP3d+CCb9871QvVVjHcHp/+hrWVOjv2EmSCCDOc7UHXhes+nUV?= =?us-ascii?Q?He2mQ5CXfulaGMoIFvN3wYFPt0Axqy4cyeGVE892py9DrHfYYPq9gpbZb4dS?= =?us-ascii?Q?AoC29sU/cWu+iyNBPp8384VavsFn+SNvqBi5DQn26iI+DmeFT+4XLekaNJUi?= =?us-ascii?Q?8rP0A49Zsb9wPk+Gg428cpH5vdyHNqN0IY7jP7nPcP76zBNc/gA46Jt1LM9y?= =?us-ascii?Q?V9XdnY1MRFjuOF18BPmHSLmENZsgI9m+veS740zweBCpGZVHl9Z9e3w8/PSA?= =?us-ascii?Q?R/WwGGgbiAfMVNM8knjRjs5i9KqpZgh8V11bNsK7LUxDboe34oqGAjPCTNq1?= =?us-ascii?Q?uk1BMjRSWyjzLCujC3cIR04EkJIrGYsaH5uDKWTl5oBb2c3TNPAUV/BVXRaV?= =?us-ascii?Q?1oJ+BKJZzQ79t7O8pv/nBif76vbPR5xInw/rHoWQNHIw/1Boo/yq2h4mOQ8n?= =?us-ascii?Q?3UXP5mzXtYawDw7XiqPYJoLY0KqUaBxTIYIHFgPR1SlDrMjY368LSsSwSsNU?= =?us-ascii?Q?bIW5VDKeuln1+TaqmAfcTXrktvpBCUVxK/oLjUeAPhpCrvDXcTVxMD2sSLTh?= =?us-ascii?Q?7tG4MYOYJcW4QcnzcFwPt8OpUnuIkoDZomAdn2sq9wclrBEEkgvJwqTX/CUG?= =?us-ascii?Q?+7eiuQ=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6979920c-06df-4293-054b-08d9e5b4cb6e X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4166.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Feb 2022 18:58:12.1369 (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: gXPX+GpM2wsKlrDcJD6z8fy9iSpuLqq45oenEqKFO/1iaC/31nrJFA8EeupSOhWbNIzXehPFunD/prT9KAZbqq5ZBEmLjKU/I7K/EN8Dzjw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5156 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10245 signatures=673430 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 suspectscore=0 malwarescore=0 bulkscore=0 mlxscore=0 spamscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2202010106 X-Proofpoint-ORIG-GUID: njTyVR6Vx4K2mQB0cWT7ggtpV6I7EBMa X-Proofpoint-GUID: njTyVR6Vx4K2mQB0cWT7ggtpV6I7EBMa 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 Reviewed-by: Petr Mladek Suggested-by: Petr Mladek ----------------- ------ 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 b33c2861a8fc..1b96166eea35 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 22:12:27 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 0B073C433EF for ; Tue, 1 Feb 2022 18:58:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242130AbiBAS6v (ORCPT ); Tue, 1 Feb 2022 13:58:51 -0500 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:55140 "EHLO mx0a-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242126AbiBAS6s (ORCPT ); Tue, 1 Feb 2022 13:58:48 -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 211IEVGR009491; Tue, 1 Feb 2022 18:58:18 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=YV/NjcPf7GM9ZMBXXfy2+T7y/1bycMjjgIPsf7t49uI=; b=wpIER45YKPc1m5PKQLrqoPsPw+D0r4mTo5EPXkpUt5iweTE01BPabbo4fMobyzGYnT87 mncRF6T1xtAqfA6vjJ/GXNNjVmJILOSWqNoZOy0xby28jrJoaq/kQiUXvVDNUadFochc u1gb5N18PN0E3lqh8dMSTGbu4TmSadkL9TqQdUXo6ggXrXsSjoNqA1Wa+LgTOvue6FLf V6G4TydM/N404XCChOwb1bmZxsHFd/ZjA0d03pyrPkizdIvVL+vca0YpfcMwkTkLdRE+ cC4PiEsxb/vN8Sq0hBMt7ntnOdwY4bDS+4nT6eczb6FkyhDAh+GX052H3vmv5DMKHpRg Hg== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by mx0b-00069f02.pphosted.com with ESMTP id 3dxjatv0jm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 01 Feb 2022 18:58:18 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 211Ip94R162610; Tue, 1 Feb 2022 18:58:17 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2045.outbound.protection.outlook.com [104.47.66.45]) by aserp3020.oracle.com with ESMTP id 3dvwd6qkcq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 01 Feb 2022 18:58:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SRWbTML3EjVJUWkO87alLZ9dDT/7uy6IiKIRm05yG/GCES8Awu9oZNJl6epLKf0oHj6WM3B4esY8sMx2m0jQ5rxrnBf8v6a9vTvJbvK8LnCu2Oh56+dIgyFRq8C14vtPzQvNRflE4Hkp9Z3LvmUhQ1fTvO8p/VeqUR/tjO4e6VF1qLqcIX2x3GWM0HNAAhYgmF7dRR+kPXSG09AoTKKd8XvPTpxcIvdxvryIWH3gvf3rcWwoFclG+nhSw6MBZtIkNZq/i+CRO0qVcWOJExHNpdQCBVfa8h5jv9tKTTV51K2L3hj1lVbQDQsAhmU1b4QaPp4UjRLtWC8beKmkzcVLvA== 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=YV/NjcPf7GM9ZMBXXfy2+T7y/1bycMjjgIPsf7t49uI=; b=G92y9FWVZdf+CzJmDwoY8ZIs2HxVeD8weMFahQX4dZjVQItVqX6Ks2Dods2xlVRo1hvls/tapPUoKOfPDEae4HHO+aUr7wWG/eWBQUOpaATklpoJ1sV14oE5fn3jb+GxQEw7U8/SwMSB8sdje3zurKCgCBLewIRxgDYJfXquON/v+7ugUYKOgyBFG3F7CEuv0xHVif6wxVatXYg1zK5Ex86zqbSs6HZb6nD2Vw7vcEEMfNXJhsh2p8bFI2UzsqmaDqzYGq43fwf4+Bs05IFl6vaK63/pKCAoXGmijLNteCWSwginSJR1ZYmvzhskn3pgN0wQ7NuI1CuB+5oMg0xTQg== 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=YV/NjcPf7GM9ZMBXXfy2+T7y/1bycMjjgIPsf7t49uI=; b=D2VU/3op3brsONLlROHJEutHIKQNH7wsOdKJolkrUwSqtsVcv1pdX+Hi7PvqqJoTtHLZYtDUKSOnDvnrdOoLNlYG4SMmu7YCnobp69eov8u2glDhmPlT3rSb7iKpxx7vBU9ROjB8jhKm5t8GMnK6rEmcwFFDQyufZpHNh9qH1qA= Received: from CH2PR10MB4166.namprd10.prod.outlook.com (2603:10b6:610:78::20) by BLAPR10MB5156.namprd10.prod.outlook.com (2603:10b6:208:321::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12; Tue, 1 Feb 2022 18:58:15 +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; Tue, 1 Feb 2022 18:58:15 +0000 From: Stephen Brennan To: Sergey Senozhatsky , Petr Mladek Cc: Steven Rostedt , linux-kernel@vger.kernel.org, John Ogness , Stephen Brennan Subject: [PATCH v3 3/4] printk: Avoid livelock with heavy printk during panic Date: Tue, 1 Feb 2022 10:58:01 -0800 Message-Id: <20220201185802.98345-4-stephen.s.brennan@oracle.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220201185802.98345-1-stephen.s.brennan@oracle.com> References: <20220201185802.98345-1-stephen.s.brennan@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BYAPR01CA0051.prod.exchangelabs.com (2603:10b6:a03:94::28) 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: 4587baa9-634d-4323-03a7-08d9e5b4cd46 X-MS-TrafficTypeDiagnostic: BLAPR10MB5156: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: Ks3q5bhTpdp0iIqTk6RkUkY4MyD260B2SncdIlGnM9dsJWNk+tosQcfb2z1QL1uGfVDubCYYgmHPgqsHARhoGF6kErlz6x+XUeOu33KhIeobwOA2H40jca0UPFUQgpkCOA6J2ZxUXuhiI/cPE0kCr49JrfnlkU8VITrTTuWo9uT+vxcXaNNajGSPcjLErmVLdZbPMJTi0SgbBuIpb0ddQOIA3YAt4nEp5eQzTNq313ghMbCETwMK5d+2MJOdocFDY5ZeuhSBdvZXXMj/4n+XqvUf6QGs1B+0syHHssrq0JOwk7jfb/nCxmG8TITI644AUiLUQJq04DkR7gMtbM6i8QyRi/XJMykmj766HddjLF8qFMvbuX46wFikKSqRZShunfqO/dri65FNI8gtpB4w+PCVwMxFKHjHqxfvCYqWvNO2lGHPLnjvuSRPxMJCgntU4oZMGxPFa3w6XZsvLmSJKiIBZMK0Ir/7UA9dqWgvTHLmBufh6o85YX50FyUq3TjWzSszl1d61AS6uIE+ne7NmnromujLJa310n3D20xsdwXKBKAoFAcKE2ZxONX5pBEymakLkgcX6kPc7hHVimiziuJVMP38bf+t7Z1wfKiWfVaTGLVzPivcxSdZSJuntc9S95zNlZ9fosCAfdV+60W/MnqK8Jogeu/WNm5Kgry1YA5fDMbh8jFMi9sCxs3BIYtRqonZcqHlFy/STNq1Uwq9CQ== 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)(103116003)(6512007)(6506007)(6666004)(508600001)(66946007)(4326008)(66556008)(8676002)(8936002)(54906003)(110136005)(26005)(186003)(316002)(66476007)(6486002)(83380400001)(1076003)(38100700002)(38350700002)(2906002)(2616005)(86362001)(36756003)(107886003)(5660300002)(52116002)(20210929001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?MLyGtZyIiGlG6FP/Wl/dAMggQFOrvBk7h2EmxiDCylD68GFp/G6s5DIeFBFa?= =?us-ascii?Q?CNfuGW5WRdBoCpmfEtmaSUom7BSAJQp12q0dftN5b4CmVwOUM4/zm1byX26a?= =?us-ascii?Q?4BpfiY4EYnq7BRJ/sE8GkZMSAN5wiRg1RQ+YQB028Qi17JRpbAE4td2jf8dg?= =?us-ascii?Q?dElSXOX4KhFK06/jfKmix9qYI1BLDb8yexjNJACju6LcPyK9iN2S9E2WSyRt?= =?us-ascii?Q?MTsfTOUTU3ioX4pcvGcloBI7JeZbSO+V3Mu/mRnzV9OPJJEIBPet2KM+9Zhj?= =?us-ascii?Q?2hb+ZC61YThD3KtAHfrLKqo9olels95WtUdUmrmq8PSurnDyN/zEanToAMYU?= =?us-ascii?Q?wWfNFlpqJeJIaIaK3ZSjkR9LVwwe4Txm3xG5AdfT8grcqINr8u9ksC5dkqIv?= =?us-ascii?Q?pRbqU+Ijruqy7Cu+D0jcybLEucHQE7GLWkL91GZLlI0dneIPBVsWcOmCsyIf?= =?us-ascii?Q?/IihGEateEvOlNx7e8YJQTqIuyzhXj3S1vapWZjNQ/Cik1R5nxrW42+JagPP?= =?us-ascii?Q?FAnS8BtMPcDK1P4oGIcAL2VeT4Uahw08J6rGHsSkwG7UXo/J0e2wXGxPxFbO?= =?us-ascii?Q?qPxTF+ppGyrPZ/40utetarlWmmSQT2CwciCL5zAvKHqn1odNGw5+nRsubFnl?= =?us-ascii?Q?mIseS9eRC5UCyEV2Och7wptylzPPtwrPzB1q6Aos52wli8/z2irgnlVf0wST?= =?us-ascii?Q?kN9+8AOG5KpTVXGzno16jWX+dQUqgHwe3uNygyJweuDfGAf1tXoYghNHkQdO?= =?us-ascii?Q?xmS4R54usPaBMG51mIE39VksoKIYAStmBeS2v2Wdjni3a2jTCmOLbCwNYLsQ?= =?us-ascii?Q?kB/z45NjxToSjd/RpeOsuk3xURjgY7h+gzumIG0YKhYEJSOah5uyul67p0OJ?= =?us-ascii?Q?oDIr50TDtZ3jyyBSu5A6JZNSai5FWcY61VyTxHwMoi4Jb4ivKwTLil2MFpoi?= =?us-ascii?Q?q2LXvVgWuhz/kwCNOYnjXRKfxizA2BOJE2/0FSnOZjIcvt8xvpfsryxj5/Xc?= =?us-ascii?Q?kUOYQycosEbgdJi/jHNu+Vwj/QorkVbDZPB0IlMMX3OEIjuOIuvieq43/rFY?= =?us-ascii?Q?DqHjlyNZH0M367EbI+rkapx5FnwugScjXINlR1fONr6Hb/s6y/2eB0r5N8NP?= =?us-ascii?Q?Z2+tOE9NpKragjJf88rhzVxOn7YQYMlRw2lLdJ0uaf/Ad8aZMaKN/FGq5e95?= =?us-ascii?Q?S+wCALFP+igqQTMcWr77RwOAXzI4w1gZPrXRBZN2AaE1VtNP2z0qs+Si3Riz?= =?us-ascii?Q?yrOvooBrD8P2Ug4MUNB6gcSeStTbUmO/wFjMc8YRsuEXu8gvt+OKrsfW3CwF?= =?us-ascii?Q?SdJUkFwbc7CMrMA4WMqdhCHmFWs9tV7MBZssajuShQvH7/LqCEm6rnSHxo6h?= =?us-ascii?Q?GkOhQ4NN7CQ0uIvoLXX/nNluzqKHuAbrpF0f8CF/NoGas6XJTACu4oM7gfYq?= =?us-ascii?Q?gl4baf/oAutaiJcYzwYrc2mw8PyQ0DoqSQMcISKAoC3yNNf7EIDZ2cENv7TK?= =?us-ascii?Q?RmNkAD4gosDVxeOb96Avd8my+a4FtCiJ7ZN7jv85q9/ftdmKD751wds0zydv?= =?us-ascii?Q?rMtnd5jwGKD3MP2PpjuVq7byosB/pfU7JOpmm96yvgqriJZdSZoCHXLtcfXu?= =?us-ascii?Q?/BjxTobcF28Ttt2H0o3KZKWQQgce2xDbu03V4YySAuQC2Hfogt8qCGnby7X3?= =?us-ascii?Q?/8ISSA=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4587baa9-634d-4323-03a7-08d9e5b4cd46 X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4166.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Feb 2022 18:58:15.1990 (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: cxfqlBx9RAppKPAh72wyT/2dIhSH8K2R0Qkg3tUMsPq8k1iCZLsrQRSx7HMRco57mmCqYOEYklbotoo/8JJ9Box4W+TBsfYRPb5MJTwW5jc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5156 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10245 signatures=673430 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 suspectscore=0 malwarescore=0 bulkscore=0 mlxscore=0 spamscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2202010106 X-Proofpoint-GUID: m1jZKStXI1DAtEQ0PsfFS_fLf5dstIdV X-Proofpoint-ORIG-GUID: m1jZKStXI1DAtEQ0PsfFS_fLf5dstIdV 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 1b96166eea35..cc7bb86f7bfe 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. Supress messages on non-panic= CPUs to prevent livelock.\n"); + } } =20 if (suppress_message_printing(r.info->level)) { --=20 2.30.2 From nobody Mon Jun 29 22:12:27 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 F27C7C433F5 for ; Tue, 1 Feb 2022 18:58:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242118AbiBAS6q (ORCPT ); Tue, 1 Feb 2022 13:58:46 -0500 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:19638 "EHLO mx0b-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229562AbiBAS6j (ORCPT ); Tue, 1 Feb 2022 13:58:39 -0500 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 211IEL4H008396; Tue, 1 Feb 2022 18:58:21 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=bvwKKO0CMjKHRztDZVF/IpqyhizwfHvLKIfoniPvu2Q=; b=D21l060pUDWM4T4vEEgu94TGPnNqt9wRp9HHx4wgx+ZFU8nTXYyvWoPtbQemnGX8DdWD Id3KAPXhLrotpCdHMVks3kW2lOF81InTHvT1FSSRhfnVQSokRaWZ3/UoVbpDW97GqZas FFTrK+4qj54Dhft4zPv1XpWpcdpJh3JPaAjJFX7oCDZP+RGPY5rLwK18+eKq3cmrcPQw v3hVA+1hnQnM7vTDrpy63+CJZz/lHz0mO+t1Y9Fnsyv2aIYzstAxsplOyrr2axqE9qHZ HC9ol8fF91ijvjlvMxRaOzcygEmNoFTCFF6EMSO3J/LZ2hAa+1oUNt+67TKX44p+Eo3R Tg== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by mx0b-00069f02.pphosted.com with ESMTP id 3dxj9vby83-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 01 Feb 2022 18:58:21 +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 211IpOQb119078; Tue, 1 Feb 2022 18:58:20 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2044.outbound.protection.outlook.com [104.47.66.44]) by userp3030.oracle.com with ESMTP id 3dvtq0vwcq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 01 Feb 2022 18:58:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BKaRF/+q+5SiVx0MdmOBUo6kgV7b5Lg4Aq06/hPG6pou866Rz3zt3mmjGwgUOAix3NGpTRqHI7UpG0fdSoldewZWaO6Ey77Vdt1SteGvPbedgC4kTYnGteKY/+5M5XZgItZpkyjDgMoiLi3eYE/PPVZf3EBgcoyV0uzTClhP21+5i9myvt8RptC2WErd0ZoUDwtAIRa7QhRy3sz6WELZfF7uYUolfkXbQToIUUZpjQJBTVk9sRUZ/SbZmg/DjJJy2/PHFLQdnFvvg2oJAg96fk6Zc3rdNUBB0Po4nSPUXFEw3wuL72kowrX1wOTTxMxxzBQr0IQuQo0CkJLY+kEnkw== 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=bvwKKO0CMjKHRztDZVF/IpqyhizwfHvLKIfoniPvu2Q=; b=YRcVLaF23kdaIRKBUy8pMa+98UXgTxJXkPIFjzkXB5hWjCwAjIiLZrW/QyptUzXomZjGF1hzyKsP7lGlv+pSHw3UEDnecFvvh0SSE2lACfUerbZXKqhEhXX/hcEtzA0cG1XVHC/G++iHRiY2gO4hDBhHKj82yqZnEgjl3f+SfiS3KroUQuy87HLF/dzpJbuwrc2itrzJm5xpHvibMgoa8mdPcc8Mf9IlXGkTENGI/nk3PE3SpzH+1f+bQKKuE55IxHODngXMeG8Qeiu8ikxyIKxgmCK2fARt4xnithlYOTso5OPAkNb0MkHcoWYSH4EaMGfV8p3aXRFa/YZjueqytg== 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=bvwKKO0CMjKHRztDZVF/IpqyhizwfHvLKIfoniPvu2Q=; b=FRH4/wzwWeJMwgOfgTnQzBuxU6oGCSwcNUR9svzsRQ8jDcIXvNOfT15hJDBqYrUFaiknPpBHKMjlKjT5raVs2UqaDCH9VHx74YSQ7rQlzkVHhzMQSUp5EN5O2RTVclCulerRsG3RRqx55Ch7ydaHrWwsy6B1rpaagiSGlr5ApM4= Received: from CH2PR10MB4166.namprd10.prod.outlook.com (2603:10b6:610:78::20) by BLAPR10MB5156.namprd10.prod.outlook.com (2603:10b6:208:321::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12; Tue, 1 Feb 2022 18:58:18 +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; Tue, 1 Feb 2022 18:58:18 +0000 From: Stephen Brennan To: Sergey Senozhatsky , Petr Mladek Cc: Steven Rostedt , linux-kernel@vger.kernel.org, John Ogness , Stephen Brennan Subject: [PATCH v3 4/4] printk: Drop console_sem during panic Date: Tue, 1 Feb 2022 10:58:02 -0800 Message-Id: <20220201185802.98345-5-stephen.s.brennan@oracle.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220201185802.98345-1-stephen.s.brennan@oracle.com> References: <20220201185802.98345-1-stephen.s.brennan@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BYAPR08CA0063.namprd08.prod.outlook.com (2603:10b6:a03:117::40) 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: d174507a-f399-4b11-4c61-08d9e5b4cf19 X-MS-TrafficTypeDiagnostic: BLAPR10MB5156: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: l1+zewDvpQqvKzvgk3T8FTtN0GMejtU6D3S1vv+NvgIXJnpNtJWG6OMjxrHCQW4BOYCtJY9P7WGF/ENrfSc4p9gfnkaeR5nIcQJZnBsLVHeyk0i4kAADxlcj/5FKJXf2ZL87k5CYiMiK4wqcj7c20VsGnuv80f5ZTYLiHYkkBISRoiqCMh8+U9Lpjn/PGAFtZiP0j1N7mDAskUKurq0LR/lydcXd7xQ213ffEMYHDlfpJoyK8KzkprV0L6R679omq1G1UoCfNHEF55hkL6TqtrAAYQShcpgv3H3ov7wSdsnIa9PRQmUN2jyFRSi/f0pzeZX3s+gfD4h1flo8R0UcTMP4qTBVTgrcoIZjf8vkWf6Bz10ZHd58bYHbCKfxsl6a5Kn2hbFJo0nJJJ0wKkGUAxPen1lKDumwt1z7dQI9teTk7pgVwAp6CVe6AFisSfpTnP2a/uZptOTvJJBXooz0F4bFEDPNCbRnQdAiSrA86f3AypCc10gznBi6rvoN7PN2lK+nPxUCUgAAjKcxn44MlDYCYP0ZKMz00u6JwWSNV3+K3ZHFa/yHW0jIJk2xVkt7qkTD09TJLAqT1F8en3/430xvcKiqRpN6QHGUbZVd9X9ck2+vsyK2TWvHst2cGtl0QwFWBMZquyZ8JYBpo9FoV2GM+sSoWs+96HgjTPN6Q8UWeBHJtcAd8MQvOQ+Zu59Yjvv7rpUpxJodfAfSLSldxg== 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)(103116003)(6512007)(6506007)(6666004)(508600001)(66946007)(4326008)(66556008)(8676002)(8936002)(54906003)(110136005)(26005)(186003)(316002)(66476007)(6486002)(83380400001)(1076003)(38100700002)(38350700002)(2906002)(2616005)(86362001)(36756003)(107886003)(5660300002)(52116002)(20210929001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?dMsIoKBYdwLYMb8HO6WniJ4dezSJreCweCJ6MuZI1JCIhadp4jpCdEmg5q3P?= =?us-ascii?Q?AWGEIUBsa9b7teat9+qlpvqfG+Z0JrEdHT9+Wevg/OH5WoVDe5c3pOrhObx6?= =?us-ascii?Q?uZuDjGBPD0B5rzZkbfz2kImydbzJMc+Jp1lc16iMgDM+kSjWqKGPfhnI7B6d?= =?us-ascii?Q?yaq++j/lNZkBtALtEHw1axXq0vJSurdbnXDXe3T6/RJuCmrEnS8QuJjvfKvZ?= =?us-ascii?Q?Mr4Tt+EhMYDbFhX0t6FX0w6XU9cs36nOmJDNqvZrnTYYrLRaVnV9bMF1+Csw?= =?us-ascii?Q?pDWiXTTFzaAWX73WFICNwLaP28zsN+k9BgWGb8frIwr/AOzklweKxMN/tEbr?= =?us-ascii?Q?jrmqbPbZ3Xt2EmIXTrHS37eVDLFWR/CwaxT97epZ4Ea6wv7FIhn/W89982H/?= =?us-ascii?Q?jupBUJ9AO92p09OUKFZ+dMR5G7nl9G4ButDpXvHm+JAL73xRHpR1XFWFEJrN?= =?us-ascii?Q?rZVdERTCDPIxMZeeqM0/KY2nLqH3n+OJ7N6L48m8udu73a8D1gkUcaiXeHnv?= =?us-ascii?Q?1Po3aJHlWYp6iMTxy7cTx89yv2HY43E8NCoCtHzn3Jsj5CmPaqCPG5zy/gSi?= =?us-ascii?Q?JQRhH6GcNGvjt9zLW99SIk3fKuI6t2dO4YJC2i7gwje+zzNy+qUXtrl21iBi?= =?us-ascii?Q?b8Jf54yAwF7JvKFxTHVbeIu0MTiu/F3b0TVikvFT4XF0qqk7yPm+Y5p0gsWG?= =?us-ascii?Q?pPkaE/3rl5e8ImHWzA+gch0N0IlvstiDxL82hNf+TABrrk5/LBCn4MdKX6k6?= =?us-ascii?Q?8MI9ckkwlxdr54wE9P9DOzGtRud9T/+qxNEuJwY4Pr/f+T/KRUZcw7SpkivS?= =?us-ascii?Q?nvls7dGWD41+N/ly7adF9NkRJcH6daPsbk4oIQXlr+ugG1tYn5DBgPqsKMja?= =?us-ascii?Q?I5rcfI6HqkebWNvRahcUdvgN6+DkyHSoQMOKQbzGFGYjM3AoiW87+i2+NFAo?= =?us-ascii?Q?nuwS4DrMzP8TfOQPB4KJQ8Mtxbxa6klJTknztcSaivk3nwbdp56SbtUt8K4j?= =?us-ascii?Q?B7WDw68lrfuSueV6n07cNGTXR9/x8LezUi9MxncT87A21HiX3eZ8udmuh9jN?= =?us-ascii?Q?xjdNV8ChFGw6R86/mP1Saq+qPYRm/gPYUKy6XYgyppMVByIhARCTPD4PmsxF?= =?us-ascii?Q?mSMYPuZRs7ZhLBEP7H5fSEhZG5mzlL0ROq5aFxLkS4YHTzJ1c0JLTjzJv472?= =?us-ascii?Q?R7r/C1kcymx3SEGo5m7jHMW7BuvhJCcT1a7JXlvBWcbb0EdsBpGE6F61wMW/?= =?us-ascii?Q?4ADPSlExwEv2WX097pCvisgRK7P13bMVuLUGzd7aNTjur6md6WN+t2sFiSjp?= =?us-ascii?Q?tFRSOK+lykaUopNsy9V8C8jknTDjhw26m4Cd+NgmGnc+D74pxLjincXYluHq?= =?us-ascii?Q?sob6tEmJWpsr7wspvO+4slibxLABzQp0JPqE8dHKkoFnLoELjd6dZsj+1WDC?= =?us-ascii?Q?4/nHSv6jMxaIvx4Sd/D3t4mxQu5VdwJupS85hetZHhS6aa0m37utuDzGh2Oj?= =?us-ascii?Q?FEMcozYV7lZDQapRMLStB5zRDfE2YzVFPAETZc1aiXQTICKrXB279Tz8Nh88?= =?us-ascii?Q?xmU/vNF4I/+jgNODFN22AJMzmEuo7EHCtHR8jsYmqA5YUYxSRWl1UPj8yeiU?= =?us-ascii?Q?0bKqBMq5ot7I8tjbaLeyNEW1FMR6g0AsJdNAHQw8QdhZ2lSS25h/SFGr7UaB?= =?us-ascii?Q?3QqKPA=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d174507a-f399-4b11-4c61-08d9e5b4cf19 X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4166.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Feb 2022 18:58:18.2457 (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: nQ7iK4VprEt/l28Kz/efZPrqMXA/m/J3p+98jlV3qGm3LUcJZp+7f9mQFoC+lqxDPYr9XJic785dMAPkKBDUnU2j/Y6HgTrfUBYi/9RpVn0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5156 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10245 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-2202010106 X-Proofpoint-ORIG-GUID: 6V8wlBlEEhS3Blt-A6wnpuNRZt81btnQ X-Proofpoint-GUID: 6V8wlBlEEhS3Blt-A6wnpuNRZt81btnQ 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 cc7bb86f7bfe..35676e76482e 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