From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6C171CE7D0D for ; Tue, 1 Oct 2024 11:25:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To: Content-Type:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=tufXsvmbT9PdY4DKcHw4nch5WgNnn7rKdpa0osuTng8=; b=TTQPSh8yQKO4GcNYuqA5iqBjhS MaYw9MXiHl4GR2KVPJBfzdEai3dwDQnq3sn1QQqZx5Oj29CBUfQhjEUCYk7Cq56fhtluDrDkIog3z wvfy0dna3FvQqFnvc8yF4kRfk0eOAG9/hNr8aMr91Qrc7zpNVRrR8bM9iZ8LWsFJd+VFbJwMw2gmD Emtz0oQZ+THHunAdMhEL2uEmo+teTTvf7hX1ZPUH5HFN0jjBe0tzTGwq41klWNbbvzw9I69LhEp8x 5e/dzcNVV8d8d5D07OMcXcAH9e01M8ZM3Jz4FQ2Lk9XI3P+Y8X9A+rmTuDC7Xx6dR+KdcBPQkR3uL XR+9c6Ew==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1svazy-00000002VJn-1YJw; Tue, 01 Oct 2024 11:24:58 +0000 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1svayi-00000002VBY-0szv for linux-arm-kernel@lists.infradead.org; Tue, 01 Oct 2024 11:23:43 +0000 Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 4911twjY029515; Tue, 1 Oct 2024 11:23:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h= date:from:to:cc:subject:message-id:references:content-type :in-reply-to:mime-version; s=corp-2023-11-20; bh=tufXsvmbT9PdY4D KcHw4nch5WgNnn7rKdpa0osuTng8=; b=ggAhfgmQGYbGD4rWENO5pK77g1YEQDJ ky3h5qwuEy+5ea0Jrj1wEGVxX8P//6PZWeFmBrv4cD4S8GDTOu9fvylXLfWoMMu+ nEHhFWdjHJs55KkHkSkLzIanmHSZ+pwS5UCjqG629UOhX0dnXL4OPn7uM1uFFtRC ZPc2+LsuOY9upXGKV2GlHOMocoWdOtCtCmc2th3MmivfK72iV77kOTxJZdxLjRnB HUWhcxszA4da9tsQ6u0WXSySsCyxP9dRWUDMyADWHlu0cPsDchcA1whHVUoh+fmV 56fOgcr6xiUL/kjAuox+2fkfL7sGJCZz/zIjpeU8YLPotiHthLlZYgA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 41xabtnwr2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 01 Oct 2024 11:23:19 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 491B12qL017460; Tue, 1 Oct 2024 11:23:18 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2169.outbound.protection.outlook.com [104.47.55.169]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 41x887c7u8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 01 Oct 2024 11:23:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VtXKsU4oVHoHDQiBUMpWCYM969xjtkeOUPyN1GvyV5OrbZLkZ0SHtoAbVPCQlqe2KN1NHFHIxZyBJ5I/TSW8b8IR+HRpT/HhELs2mLOUVCtaeMV2j+253zPKw7ppxU0oN4g3BDxU4zZaCSPHZdRKRTbcjBFJLlNb/276wGeN/fq0CMz2sYy+ru9mZHyJIizVusR7Opl+htfXVGPtcHKBJgr4ZKBeyNYmJmkGz9TfrToj/q7s9B1UQbZSY8HvgqGDYvq1LhcKlFSMjlsZvM6GJjy9UW9F1IQOxfe1UPJaiesLfXodBFMFsDeSYa3TSUiIUDUfNbAd4rmr8gO0lqbdOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=tufXsvmbT9PdY4DKcHw4nch5WgNnn7rKdpa0osuTng8=; b=NnZLJunuel/d7yKN+GIbuUiuC8rKlc5/gyjAS/cb7C8so03WrsKSwYd+Zaa8Qk78vY3pE4P4AkJomyy5/WOg4fqhhF2T5CbgbAVZLmEEREPfHvG8xX2Unsy3K8jSBOFsCbt6hewSAkz3cUviPRcMueVxDPLbazMPTEnT2WgbLWmy0w1CT5+berV/YIJ9TLap1mu7Czuq9WYzW5JsUB9avo2t80bTouzwMmraBEGVs404QDFXTZI1veiwE/0j4MoQx9kT5cJgzWEZrYskhsaouhWigFaTf2aaS1ZdtjHoKYOAc1debgEbfy+DXtpjl3pkcDpG5clUeFEX64HohBEzig== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; 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=tufXsvmbT9PdY4DKcHw4nch5WgNnn7rKdpa0osuTng8=; b=yR1gvZboYAXT38Ohs2FsI+lUOoOmFudD8Eg37R08FaqwYWWSTbhrcxlEMPk+ZNh047Q22zt9Zrlia4XoepmFCBjjpr/RSkL6TpPDZk/n0rHjNinI+QT1kQLjN78AjFgSumwYD6etdWL7UyziKM7ba9Olwuy52u0QDSfMsn5CxXc= Received: from SJ0PR10MB5613.namprd10.prod.outlook.com (2603:10b6:a03:3d0::5) by PH7PR10MB7106.namprd10.prod.outlook.com (2603:10b6:510:268::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8026.16; Tue, 1 Oct 2024 11:23:15 +0000 Received: from SJ0PR10MB5613.namprd10.prod.outlook.com ([fe80::4239:cf6f:9caa:940e]) by SJ0PR10MB5613.namprd10.prod.outlook.com ([fe80::4239:cf6f:9caa:940e%5]) with mapi id 15.20.8026.014; Tue, 1 Oct 2024 11:23:15 +0000 Date: Tue, 1 Oct 2024 12:23:12 +0100 From: Lorenzo Stoakes To: "qiwu.chen" Cc: corbet@lwn.net, oleg@redhat.com, catalin.marinas@arm.com, will@kernel.org, paulmck@kernel.org, akpm@linux-foundation.org, linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org, "qiwu.chen" , Liam Howlett , Vlastimil Babka Subject: Re: [PATCH v4 1/2] panic: add option to dump task maps info in panic_print Message-ID: References: <20240924074341.37272-1-qiwu.chen@transsion.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240924074341.37272-1-qiwu.chen@transsion.com> X-ClientProxiedBy: LO4P265CA0094.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2bc::9) To SJ0PR10MB5613.namprd10.prod.outlook.com (2603:10b6:a03:3d0::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR10MB5613:EE_|PH7PR10MB7106:EE_ X-MS-Office365-Filtering-Correlation-Id: 218fbcf8-e930-41a5-0f75-08dce20b711f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?56sfAJetG1Qt5qZxPS63nVYNJmodnebseZjNBpsMSHodg5jnXsY4IeIjpqzp?= =?us-ascii?Q?cH+c3Or7ear9XBPp7N+LoW6KlvN+rx0q/3jn6CtfTCavu+RKsWZthJHPqwoV?= =?us-ascii?Q?galjOj3Sn1HaqHXdq3ex60vcLUtopvFSh41XMKfOWobs0NxeSDcL9aNwaaH5?= =?us-ascii?Q?/dqUgYQyxZPkBNd/wzDJFXxLJItTRLygVEnIf6p/TpArtFV5GSOADhwiMsZk?= =?us-ascii?Q?8TU6K2TrFtjCmNkbNvqTgI5emXoFkWHZhu1h66nW5ZH9Etyqvl8cqwhgMUTn?= =?us-ascii?Q?W8pZW4D8ibz2OiO0lR92jpK3QExJa4wl/hySVyQd6up7Tkogg5vzwO6lZEhU?= =?us-ascii?Q?lmjht7g2+W1rEicfcqfpot8gT3O319eX3ue4w+cSU9l3XoSLP4ypartqbd2O?= =?us-ascii?Q?Rxh62yVegH+sFUoEt4QZyfCyhdfxwrpEQfTuNOzX9dHgoJefuU5Yo0++IZn6?= =?us-ascii?Q?CtU+C4DZvpfxY4RLLswyxYr2iaEtFo7ejyw2woDXHhXVo3ennn0zaXoBZDef?= =?us-ascii?Q?kmXUswwVeTDyYQiiLGi0i40vto4SOYlieRb+XZlzWaEnpii+MSNpBODnNXPW?= =?us-ascii?Q?oAErnbYQvRXcR95Kg0HARIWuCHROD6ox/Cs/F66wrJoo6zY/0Yu47VJlwv6r?= =?us-ascii?Q?mozfgziRKAcHdeq0WhcGV5CUk4TixsAM5PhKPFZzPqM60wcUtDxurA4BKDww?= =?us-ascii?Q?sEfij9Dns4DDXdsWzc9tBOrbkPmFfL4k33SLsAbLdF0cdTpDEjESmqrz4/rd?= =?us-ascii?Q?B88kJZxh4O6PJ6LBJJ1jx064mxFJVagx4WdGQjUIw5WTeE5cV8yqRMLmQmRe?= =?us-ascii?Q?/Hn3pZ2WxNQET0NmGWLGoGb+SJbTFKk3UFGjtHtDa0tuGuYoTm38l1ZMZKht?= =?us-ascii?Q?QoLGPWFldduZFlZxvce/rPg/02N+QYDOl9T2zHhjGnSs/WgGPRZ60Zsorvj5?= =?us-ascii?Q?z6eggKYiy1d47Fv5H9U7QmQYUrH6+ukq3calzxKPrNu9Q53rmGfGZ8c021bn?= =?us-ascii?Q?UH9J/+ENtd8IEbbQ1InIuIgRy5UJ3+sdeewTXroCAcDX5Fhy6aEdcUnKzahW?= =?us-ascii?Q?XFqh6nfK0MiQAKGG5NwiAP7VpFYYs9Qojs2U4l5Ihg0f3dd6vyj5RbyJW6pp?= =?us-ascii?Q?aXPy+00OYcX2Tgym9aPJ/DMWD0BosO+A4ldexcvHMOQIkiuSB5gsnDs7WL9h?= =?us-ascii?Q?FVofg5h0yjMomuLg0oKq/z05/yLwJHo7jUXrM7I2AFCH0Gb/v8r61W9ms3ZI?= =?us-ascii?Q?Z/pAhNA5Nnn1YDB8Iw9kuMoM7cgfAmwRyTR5f89CMM023PKU4pnZSSu0k5nD?= =?us-ascii?Q?R4g=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR10MB5613.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?doUTIbD8vnTnztOXmGGaS0rM7kSmq63FnqNLQ50oiRLpXMADVTr2lZBhV07k?= =?us-ascii?Q?kErCVPLs4M926169cNAcmXUgQhgLBWE67/A/eWAMtFUqOo2NpIfnwX5lOPdl?= =?us-ascii?Q?kXIpKL4x5cW4bU+FvYeGumCqGb1eHwJwuqDr++rbtGdhNHFyoqDP8MNRzuFn?= =?us-ascii?Q?U6S2HqbdcLWqeMJiW+8gfY6BOejHEZQ0LYKev2nStzxV8z+MtVu+Skv+Dj+B?= =?us-ascii?Q?5cfEGQgCQMD/kN+mOVxTcHlLRGWHUlPEQmFr5c25ZDGtea/fvmYf0aQuOhpP?= =?us-ascii?Q?g6DucrWfl3qCDqlXzGVZuQZc2d5W96F1zSm6TUAONNP3+FvmTbAMLHG8Je8Z?= =?us-ascii?Q?CGd5hcx7chygKp7sT+F3RbVDekbT3G1nkWNsXBc8mNGvIozlWkl1tnzBhVcr?= =?us-ascii?Q?o5sZgmGyEpdno9OU/f6Gg38JEpqUITsmD1nH7sNLlnae0A5n9992D/tFO+CA?= =?us-ascii?Q?aNHj76TN2XUHUzYeU29d2McJVg5WtZ2KxU5/84Us5x4b05QrjCGJgrIkETsu?= =?us-ascii?Q?dnBVnapinmVkY+1feAhZv7qcLrh/gatewGgVdR9wb32gxFjUcYN0etk05hU3?= =?us-ascii?Q?Pk40wdp3xVisGuamld6uCVnIL3+cEScvVqI5Gft6YuVCv3NqPCgtAalagskb?= =?us-ascii?Q?ByC2l6+RQbfMPSnnce9o84sNXTX3POp9SztDHS1xYnm5oZcPFpfNk+ce9iKv?= =?us-ascii?Q?mBR0bWcDViyXrckl9HQX1cd+RMmbLzFHdV+38hscJxpwL2KttaBnxnOZFMR0?= =?us-ascii?Q?XR3qIyoSTILG6i5cw5X2OveE8Dgvj4bgRDixXJ+ZYcW6DQvMNimiHJ5/yyzE?= =?us-ascii?Q?XPcYziLJhE1qACrOpWa1LoCtbBK+s4kfxEiEkrm2zLx/TE7YS5e5Bikl5MOi?= =?us-ascii?Q?A3ixr8uQRDcuSfrdXClAbVpS/8NsctJXIfLSYbHiB20XM3TdhWhsp70/5qIF?= =?us-ascii?Q?rK7Q9EsWo3VhdLwU/Z9NQKR27AzkCUqVLBW/rOjkXa2euVY6OEfpmJm9x54J?= =?us-ascii?Q?DkNgmNkQRoBl9nL9GXNF5F5ynuzYOx2tvth1TMDktBGNbxQH0mKOCFrB5tK3?= =?us-ascii?Q?yjyVaTOvXbSMKeecEiaN4JGCwOrasFNXvlqVgh2EBVFOHBFTS1utRopkXCbQ?= =?us-ascii?Q?yRAGFPhWiqhNl5MXqoX+SOyBVX7Ivd58hk8KYzgyhoyK2wtOMx/H2NazeCg3?= =?us-ascii?Q?beXT+VX7+iewqO5ch8NRN3FkMM0cOANhH4dlx5xcd4gDB/7K0g/C813nZvBa?= =?us-ascii?Q?bOllumskUGZCP8Dj00jEr+n60Hd3/pGyukNN0QRDowz1Xi8muu62zz5H62Gg?= =?us-ascii?Q?ONMMzadezRZB0MbRcIm8qJTb35J6Ad8TjG+qQ2FMaPszO6wRB+60vzItrs9l?= =?us-ascii?Q?uIR8EjeE69VoatTcctG2Yw8kmGEgjYs6/Tb3qn+pfiWcgPcFlvj36xPo24Zc?= =?us-ascii?Q?V2jCXkf61a0CvK1ItGvAAJHP1n57GtmdzTTW2O3jrNDUgk26IzLOwQqXCBhR?= =?us-ascii?Q?pbAkDquUoMfcY0iaJ6p+uu1weVVN4GTDUQLoPtBVZ6u0ZDYDkIKm41gfRNcT?= =?us-ascii?Q?QPbZ1AdUvLxgfsDe82Cp1ouoE2vJaamiWPNDjhxtrCSh/uyYIev36EoP5UhS?= =?us-ascii?Q?6g=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: yiwuhR5afLZhHKkkc2385f+PMRB9A3Mlk4Oc24t4GPOCuiAu9X2RRDTRKuiYM3ffbT0tl0IJ7tywLrUHtJpoEN0rEHsNw796BOIWzRXHkwE978lNaMvOwh7NrSmptJcZgagwO47grp2IduWyOWtq5oHf4MiRElEX2l7nXR4jptDm2GR4TriyeDHnRxgBuNHHSPGdMO7jzNur+wARVf+rwPglZ05ghgJR0N99e7XvmmBQMRHOtVAzVdz2GobSjl7LAySzgNw4PFmwC8Wrquffvgg/qWJTwJie3OkW1eXFvzKeR3yYEO3OOAHHiTn+J4c2L3G/fZY8MlGnzr9Xi4FJfLmHTdL4E2oF6HdfcWqhW0jpglOyLXWtVzrh/GPzAM1HPxS2/iPhCcRnD56dr8hUW9V1A63WIAtMpqeOXT5wM6lgGLZv15f/eWgVB38cY//l/k4yPXGl1iJbwPFdwROgdA2vW2vzbhhIzFZ2iXG819GtDzNNCK6lliuwif5z01yG7hzYkKWyv4hRn34+TYLgO+PsOawMjrOWU/K5/z8ZYhNSbohy3LAN0+XxYKb/FniLmPUcPyD/dpzUoPy4sbNrWJFrgEAg1FD/3aaK/QRB9l4= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 218fbcf8-e930-41a5-0f75-08dce20b711f X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB5613.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Oct 2024 11:23:15.1515 (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: T/oaSMc2RR34RYR02XEbtnt369ZfKH9Nto9UdO/MdmSSMlKLj4zGI5y7Jf8B3N7YIaFJ0O4oBOvNiqfcDzV8seS1c2iMtIGzqrATO/b8Dx8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB7106 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1051,Hydra:6.0.680,FMLib:17.12.62.30 definitions=2024-10-01_07,2024-09-30_01,2024-09-30_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 spamscore=0 suspectscore=0 bulkscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2408220000 definitions=main-2410010074 X-Proofpoint-ORIG-GUID: UTOsgONcJ-gwqHML8_RcCkLLTGzZe1Z0 X-Proofpoint-GUID: UTOsgONcJ-gwqHML8_RcCkLLTGzZe1Z0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241001_042340_290183_48F277B3 X-CRM114-Status: GOOD ( 29.18 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org + Liam, Vlastimil Sigh I hate to do it (honestly!), but NACK. But, wait, I'll explain :) I don't know what's going on with this thread, you have a 4th iteration of a series I've never seen before that plays with VMAs, no cover letter, only this one cc's linux-mm. This is making my life really hard to review your work, you're playing with VMAs but only partly cc'ing... If you go for a v5, PLEASE create a cover letter and reply patches to that. And cc everyone involve on all patches. Something like $ git format-patch -s --cover-letter --thread ... Would work great for this, or even better b4 :) On Tue, Sep 24, 2024 at 03:43:40PM GMT, qiwu.chen wrote: > Currently, it's hard to debug panic issues caused by kill init, > since there is no debug info from user mode in current panic msg > such as the user_regs and maps info. You haven't explained why printing all the VMAs for a specific process helps? We have dump_mm() that provides a sensible blob of mm information in such situations already. Yes it's behind CONFIG_DEBUG_VM, that's on purpose. You're STILL failing to provide a user who you are exporting symbols to. > > This patch adds an option to dump task maps info in panic_print. > > - changes history: > v3: > https://lore.kernel.org/all/20240922095504.7182-1-qiwu.chen@transsion.com/ > https://lore.kernel.org/all/20240922095504.7182-2-qiwu.chen@transsion.com/ > v2: https://lore.kernel.org/all/20231110031553.33186-1-qiwu.chen@transsion.com/ > v1: https://lore.kernel.org/all/20231110022720.GA3087@rlk/ > > Signed-off-by: qiwu.chen > --- > .../admin-guide/kernel-parameters.txt | 1 + > Documentation/admin-guide/sysctl/kernel.rst | 1 + > fs/proc/task_mmu.c | 3 +- > include/linux/mm.h | 4 ++ > kernel/panic.c | 52 +++++++++++++++++++ > 5 files changed, 60 insertions(+), 1 deletion(-) > > diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt > index 8337d0fed311..f76709deef6c 100644 > --- a/Documentation/admin-guide/kernel-parameters.txt > +++ b/Documentation/admin-guide/kernel-parameters.txt > @@ -4253,6 +4253,7 @@ > bit 5: print all printk messages in buffer > bit 6: print all CPUs backtrace (if available in the arch) > bit 7: print only tasks in uninterruptible (blocked) state > + bit 8: print task maps info Woefully, woefully inadequate documentation. > *Be aware* that this option may print a _lot_ of lines, > so there are risks of losing older messages in the log. > Use this option carefully, maybe worth to setup a > diff --git a/Documentation/admin-guide/sysctl/kernel.rst b/Documentation/admin-guide/sysctl/kernel.rst > index f8bc1630eba0..558e365b76a9 100644 > --- a/Documentation/admin-guide/sysctl/kernel.rst > +++ b/Documentation/admin-guide/sysctl/kernel.rst > @@ -872,6 +872,7 @@ bit 4 print ftrace buffer > bit 5 print all printk messages in buffer > bit 6 print all CPUs backtrace (if available in the arch) > bit 7 print only tasks in uninterruptible (blocked) state > +bit 8 print task maps info Equally woefully inadequate. > ===== ============================================ > > So for example to print tasks and memory info on panic, user can:: > diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c > index ade74a396968..37169ae36542 100644 > --- a/fs/proc/task_mmu.c > +++ b/fs/proc/task_mmu.c > @@ -240,7 +240,7 @@ static int do_maps_open(struct inode *inode, struct file *file, > sizeof(struct proc_maps_private)); > } > > -static void get_vma_name(struct vm_area_struct *vma, > +void get_vma_name(struct vm_area_struct *vma, > const struct path **path, > const char **name, > const char **name_fmt) > @@ -300,6 +300,7 @@ static void get_vma_name(struct vm_area_struct *vma, > return; > } > } > +EXPORT_SYMBOL(get_vma_name); Please stop exporting symbols arbitrarily. Oleg already raised this. I aleady explained at [0] that I am not in favour of you exporting this and you have failed to give a justification. So NACK on this alone. [0]: https://lore.kernel.org/linux-mm/20240929093212.40449-1-qiwu.chen@transsion.com/ > > static void show_vma_header_prefix(struct seq_file *m, > unsigned long start, unsigned long end, > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 13bff7cf03b7..2fa403aae1de 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -3566,6 +3566,10 @@ static inline bool range_in_vma(struct vm_area_struct *vma, > #ifdef CONFIG_MMU > pgprot_t vm_get_page_prot(unsigned long vm_flags); > void vma_set_page_prot(struct vm_area_struct *vma); > +void get_vma_name(struct vm_area_struct *vma, > + const struct path **path, > + const char **name, > + const char **name_fmt); > #else > static inline pgprot_t vm_get_page_prot(unsigned long vm_flags) > { > diff --git a/kernel/panic.c b/kernel/panic.c > index 753d12f4dc8f..2217e1d0ad44 100644 > --- a/kernel/panic.c > +++ b/kernel/panic.c > @@ -77,6 +77,8 @@ EXPORT_SYMBOL_GPL(panic_timeout); > #define PANIC_PRINT_ALL_PRINTK_MSG 0x00000020 > #define PANIC_PRINT_ALL_CPU_BT 0x00000040 > #define PANIC_PRINT_BLOCKED_TASKS 0x00000080 > +#define PANIC_PRINT_TASK_MAPS_INFO 0x00000100 > + > unsigned long panic_print; > > ATOMIC_NOTIFIER_HEAD(panic_notifier_list); > @@ -208,6 +210,53 @@ void nmi_panic(struct pt_regs *regs, const char *msg) > } > EXPORT_SYMBOL(nmi_panic); > > +/* > + * This function is called in panic proccess if the PANIC_PRINT_TASK_MAPS_INFO > + * flag is specified in panic_print, which is helpful to debug panic issues due > + * to an unhandled falut in user mode such as kill init. > + */ > +static void dump_task_maps_info(struct task_struct *tsk) > +{ > + struct pt_regs *user_ret = task_pt_regs(tsk); > + struct mm_struct *mm = tsk->mm; > + struct vm_area_struct *vma; > + > + if (!mm || !user_mode(user_ret)) > + return; > + > + pr_info("Dump task %s:%d maps start\n", tsk->comm, task_pid_nr(tsk)); > + mmap_read_lock(mm); > + VMA_ITERATOR(vmi, mm, 0); > + for_each_vma(vmi, vma) { > + int flags = vma->vm_flags; > + unsigned long long pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT; > + const struct path *path; > + const char *name_fmt, *name; > + char name_buf[SZ_256]; > + > + get_vma_name(vma, &path, &name, &name_fmt); > + if (path) { > + name = d_path(path, name_buf, sizeof(name_buf)); > + name = IS_ERR(name) ? "?" : name; > + } else if (name || name_fmt) { > + snprintf(name_buf, sizeof(name_buf), name_fmt ?: "%s", name); > + name = name_buf; > + } > + > + if (name) > + pr_info("%08lx-%08lx %c%c%c%c %08llx %s\n", > + vma->vm_start, vma->vm_end, > + flags & VM_READ ? 'r' : '-', > + flags & VM_WRITE ? 'w' : '-', > + flags & VM_EXEC ? 'x' : '-', > + flags & VM_MAYSHARE ? 's' : 'p', > + pgoff, name); > + > + } > + mmap_read_unlock(mm); > + pr_info("Dump task %s:%d maps end\n", tsk->comm, task_pid_nr(tsk)); > +} Surely taking the mm sem on panic (!) is a really bad idea? Not sure if we do this elsewhere but the lock might deadlock, you're not using a 'try' variant or a killable variant, you're just saying 'hey wait forever if we can't get this even though I know the kernel is inconsistent'. That's just crazy to me? Also PLEASE PLEASE NO. Do not put arbitrary mm, VMA code in a random file, this is just not acceptable. All mm code needs to live in mm files. As I said in the other thread, we are planning to change how we lock things around /proc/$pid/maps iterations, and sorry but having a random other place do this with whatever locking is applied is just a big, big no. > + > static void panic_print_sys_info(bool console_flush) > { > if (console_flush) { > @@ -233,6 +282,9 @@ static void panic_print_sys_info(bool console_flush) > > if (panic_print & PANIC_PRINT_BLOCKED_TASKS) > show_state_filter(TASK_UNINTERRUPTIBLE); > + > + if (panic_print & PANIC_PRINT_TASK_MAPS_INFO) > + dump_task_maps_info(current); > } > > void check_panic_on_warn(const char *origin) > -- > 2.25.1 > >