From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 74F01C2BA1A for ; Fri, 21 Jun 2024 13:42:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F40AA6B0444; Fri, 21 Jun 2024 09:42:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EC5AD6B0446; Fri, 21 Jun 2024 09:42:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CF15B6B0445; Fri, 21 Jun 2024 09:42:37 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 8F2B66B043D for ; Fri, 21 Jun 2024 09:42:37 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 293BD120EFF for ; Fri, 21 Jun 2024 13:42:37 +0000 (UTC) X-FDA: 82255010754.24.71D628C Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10olkn2104.outbound.protection.outlook.com [40.92.40.104]) by imf08.hostedemail.com (Postfix) with ESMTP id 526E6160015 for ; Fri, 21 Jun 2024 13:42:34 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=outlook.com header.s=selector1 header.b=nTRSHD2H; spf=pass (imf08.hostedemail.com: domain of mhklinux@outlook.com designates 40.92.40.104 as permitted sender) smtp.mailfrom=mhklinux@outlook.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=outlook.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718977348; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=PUZgccDBajCPqCrNCASngQZt5NjWw7Cul7izXmtfbYo=; b=MCH1NU5mqEqN244iSwa8m71a62ruPtOeMlfL1bjYBIxzDgR7PIpLTOBPTmKIxSy8kHBP6q +MZzN2tPL1cQNFjVsvuSC1pO/P8fb+9BReM9Mf+Ezxkorb5JEyxYePy15BRkXbwBEI8eN+ O5m9K2tYN7Q28+WBkFJUY70HiBzk7+w= ARC-Authentication-Results: i=2; imf08.hostedemail.com; dkim=pass header.d=outlook.com header.s=selector1 header.b=nTRSHD2H; spf=pass (imf08.hostedemail.com: domain of mhklinux@outlook.com designates 40.92.40.104 as permitted sender) smtp.mailfrom=mhklinux@outlook.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=outlook.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1718977348; a=rsa-sha256; cv=pass; b=IUq6ZrC0i5qOkvwghwsIXwkDwBUt80pwfh9srVZjkmc/d8RSIVa6ZPVH/RuNUNycGTnP1E 3x9AXuyOnK3uMin/I6c3zrmzwxgnpjgIePhhVpsYcdX7eGrtP9OUdrfgVeZy18kJuDP3fk w/ydD0Q/EHvkVOmOUlPFEJrpjmiTAiU= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PZbBpLEnJS01EhVEgVfAzhlIqIL+AxEpys0V2QBmV+bCL1/7Mlu/RTTM7owZB2/Dg1lWINrSi7GMc9DGStOAI9rQ0OR3iIK3DmBhx8Nw14vMNtPo4u18By0s4J2rvAA7r2ZK6gM2vaL2xOlwLHnYicjil5+B9EevEhMTl2or3AmPBvmgWz9Rqlyg6JXGc6d22gyNxbzmFVibg4hGMDjFgwvgxP4LhyJ7hieUik8B7L+prrDEFuXCAHXyYekPsbgi1WacQFmWXUpoXRukWFqWi3Gx+E0W4pwrrcFWVmamloJM5cr+W0YuENXrCUqlMMenQG6qIUGVQtdRLqAtapoeXA== 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=PUZgccDBajCPqCrNCASngQZt5NjWw7Cul7izXmtfbYo=; b=PVCpBz6qZCmtIwjeMw2JgoqYC0NK+lo+fjsoiVjbixHIO6BbA+e5OhcaSPwg6ii1IXR+X88IjstJ+tAbxXtSPmovYt2TI4cz0TZZQ0cLAlHkPYVxWd8tprb0hfS7YY7gqGj6JX31zC29uymU9Bk21ECKQ48RrdG2a1kobOMUJhV+1l2WXKsPw2wvpcxkOHIYtaZLITo8W33ypv/vYI4d9YvDNuTYYwzkKO9cpgAJXzpLizS4NfkYNSIAx6NSorJmbE5+icxDp+SiPorhIRZZBkGpb7fmynh20G7Lx61TYQq3WM442hPNY/2ePhsn1O9IFCA9ndXKtymeX3FFz5KT9A== 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=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PUZgccDBajCPqCrNCASngQZt5NjWw7Cul7izXmtfbYo=; b=nTRSHD2H3fw76O5uOSWKgJPFrJSfx9F0R2+L//WBv1nW2nEckqsNLYhBFIyhHCGmLW+z2CyKO1rKQEc0dounR1JBMHKZsamaD985xmf8y+/GBxAjoeqvfd34W+XicnAB2JyNin+P56NHouno1T9WzMsu4lqdLQegdCADfMHLfMHTnU5jvyo3ErKzd4CGMsiPHC+PpFcLTdqiZTvXLbXkPYyIRw9mLFZzbVIWil1YQV69dCPZAIyjwZwFXn2wF9Yl4N31oNemRtiJCUEhCvaAz0vL9J5l2+RJxgigG/kdykJwK4F5/PTnN2Z1rB77DIJkJwfvVcGOgMA5hrUpBD6uEg== Received: from SN6PR02MB4157.namprd02.prod.outlook.com (2603:10b6:805:33::23) by CH3PR02MB9161.namprd02.prod.outlook.com (2603:10b6:610:149::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7677.31; Fri, 21 Jun 2024 13:42:28 +0000 Received: from SN6PR02MB4157.namprd02.prod.outlook.com ([fe80::cedd:1e64:8f61:b9df]) by SN6PR02MB4157.namprd02.prod.outlook.com ([fe80::cedd:1e64:8f61:b9df%2]) with mapi id 15.20.7698.017; Fri, 21 Jun 2024 13:42:28 +0000 From: Michael Kelley To: Uladzislau Rezki , Baoquan He , Nick Bowler CC: Hailong Liu , Nick Bowler , "linux-kernel@vger.kernel.org" , Linux regressions mailing list , "linux-mm@kvack.org" , "sparclinux@vger.kernel.org" , Andrew Morton Subject: RE: PROBLEM: kernel crashes when running xfsdump since ~6.4 Thread-Topic: PROBLEM: kernel crashes when running xfsdump since ~6.4 Thread-Index: AQHawtnrc06LbdhSHE+ecA7fkOO5n7HQ8m2AgACefICAADyuAIAAK9kAgAA8h0A= Date: Fri, 21 Jun 2024 13:42:28 +0000 Message-ID: References: <75e17b57-1178-4288-b792-4ae68b19915e@draconx.ca> <00d74f24-c49c-460e-871c-d5af64701306@draconx.ca> <20240621033005.6mccm7waduelb4m5@oppo.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [jXT8ZZG0JkpKNaElLE0mn84FU+xhiJ5+] x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR02MB4157:EE_|CH3PR02MB9161:EE_ x-ms-office365-filtering-correlation-id: 07d5aed9-7a57-4d9a-a171-08dc91f7fe1f x-microsoft-antispam: BCL:0;ARA:14566002|461199025|3412199022|440099025|102099029; x-microsoft-antispam-message-info: E/kA5aj0dVkPIm9yhgA6BttdPOZ6S4mszBo79cUYExF3tRl4mwEuJwoJ3YDaoS53VCwdtEdVPZsQdHplb3u1AoPJOYiNs/XEosWpE2+K/eVWhilee718/TgCbSr4es1MBDgKqyiTkDUED5MMsCO+PTXVUmstdAaFBvghZbR5PyPQVZKwK5Dw/+0bvtq0qoWGmapdCPe+o8xjwiFWiFfMjG18ITQBhZYgJQwNOimt1PhUnYvgKwjsyEe2ZgFPcwk3wfx0AxC06CEU388TUYf47RCllN8p4yJdoq+SiQaSEWncWt3+8a7Hxtcb7fOnJLh9LIvaOy2zlpVjp/dQCzZunYc9IMp017kq/8H8AmovDZtruj4ABYNMQ7I35ID1mJbXx90v5WfLlRcN21g2LrnaGmjTJ93uu2F1RiX7Y+xXDzi0WEPoQghsaSUPBvsCVsoJ/XingTEEGFaKnIE3CyS2N1IzZ4l2c9MDnSb57MZVV3m6jBuZ4DkyjHSH1KIJSnVRBSbRdsOX4svj/gcOiFWS8CuvgUb89FLgYGJAATbF5Rc7tJlKZxYpIGtc1Q+WG50J x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?V2JOU4VlnOB6dXarRSSvB5QwKRkFO4sdixUcQc+LRUOXZe7ULCavcN0L9mqM?= =?us-ascii?Q?HefJU8I3XkdgCpH66bjEhQdFC88MGWrrcUjtXtzZlFFcDOgUPCtPCYmnfs5v?= =?us-ascii?Q?gXuhfbyDuvF4KvkhuKxhNz8nF3+c5JchqWQN0L0SWWPcdVY07OEZRcICwogT?= =?us-ascii?Q?2r8fgBPTpT3CaFCRXa4pXFpODBsw//4QS10oCtERx59O7jJHh0g1o9voOUds?= =?us-ascii?Q?1tjwbKYI0U/PAeegz6sfSQ21OYfEXedLTg8T+T8nYfSMCLjj3wG6MaPkxhnu?= =?us-ascii?Q?setjCzv4G5wl5GARoJ07//sw03+82wKpc2lJxgF9x9QLN+MFgiCVE2I+an/8?= =?us-ascii?Q?0M4OxkdQ3irgzEJAtgXESNW/3NthoejyBDjBLbF8P7Tei3yG/jHxLwUZ7hdE?= =?us-ascii?Q?j8QsoMojgvjsEgCko0fIrYJbGOA/tQ3/SxvFr+1K4D+y83dGP/jgWZtdSOx0?= =?us-ascii?Q?E6NGa6Nv24qtZraaIg9N6mU+F6HGj0lbok4pqBwuVeRIdjAWKAflWyYqAhkc?= =?us-ascii?Q?jHBIgQWMQP2ziKAfe8i3y1rsCPCw2Sm4R1F9i9CDMV8lvWvi/MlXn6VwXvSH?= =?us-ascii?Q?6t9Qa0leybW3tR17N7PPRnfwfp6RfSsBo4hPKnHKaZBMj++IfacwzKE1g1oj?= =?us-ascii?Q?WOEbITgdYNx3nRixt7TI0DF8y6YheY5XZrI7iopnmM7GMzkUm3rueLea7Ppt?= =?us-ascii?Q?AyERdx8jefSby87vWzOgKUt9dYPqqOBqVl7fix5xSWmURkFVkBdJdDI1xE2F?= =?us-ascii?Q?3fbIBy2lEtW0x8gRqNVaGp+2UUQUigF3H25Gj0swD/2PecXaE1216QEizEIU?= =?us-ascii?Q?Lphmm8ZZtLCktouzPvvxf1kZYkvr+wxRIAQaado/MmSHlpHJVpQagzUKQIQM?= =?us-ascii?Q?A1+jHTs3ALGbFXJvrvudjK3bRZ577+YRcmJdYU2W0BpRph4BORNakGTHUT2m?= =?us-ascii?Q?3amJAUm8SfD/ltQG+uOnkx7sMtcGo013ULBWIq/PQ6PPmLldImFNsNf1NLMo?= =?us-ascii?Q?8cKvKM2asLoecnHkXoiisRA7OWmUqSXMokw8oaqykelFVLHFsR+9f01dS6yz?= =?us-ascii?Q?tu1NpsuBW7D28rWI+RUikfmUKIwDV35T7ar20JOtOH4v+PueVXQYxNTT698K?= =?us-ascii?Q?rgTNnWecHXQgSKwy2EM+rJ8/EdQamFlbu4aj3RiyAwut3mdYMGbwJjRA6ZZZ?= =?us-ascii?Q?05RTE7XvbMj6kKaarMrJpN41bkGwBiASG92e5+iaPzUUMVn9EaLczhitbaU?= =?us-ascii?Q?=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR02MB4157.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 07d5aed9-7a57-4d9a-a171-08dc91f7fe1f X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jun 2024 13:42:28.5971 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR02MB9161 X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 526E6160015 X-Stat-Signature: o3ht4zdo4b9u6et31dp9ca54dib8iqkr X-Rspam-User: X-HE-Tag: 1718977354-365733 X-HE-Meta: U2FsdGVkX1/Jr4moSLMIG0QRUYfglK7hTBMvbgsIpKhNFg2bNGEkpeK9UYl39p7lfd24PVzdkfbbeKygsRu/bpg3ddIUnKZdtZHiCJyUkEZawXz2UYGB79+JlU1cN3bbRGI1pN9+cxVSVo+BLuCNHKrj+UtqLWEGke8jrhCMwBuLOeqj/Oq5aPC6nspBN1gt2pmEvczVpvZHpVObFT8uAMgtDWVnhXbiFYJI6f2uSlev3vUkaMVPInTvOsQvGvTZfklDoiYU9O6WvE7zhapRBA2m+uao8gVp72JR6K81r8YfAm3oK5ja2x0cGWlA0YSriruoENRGUzl+XV6vdFgBdDl2BXnhnUTqlXpHnm13Pw1+sYJI1yqJI0NQHnFilRx3pwsc4gjPvq8LyqtrwF1oXnR8qaM3QNawjFMswQpAlLLgWJbdTgM6PEZUGLKNUyCX1TjSOXE82mRn3H3p/bP7DXj3YQhnt+swNZOY+LSbeXFwCZ+xkm6XAjfNYRuDMSs2O4P3mF/QUGyp2X/5pl46NIgn2G/g7F7QoMQJDSbkN6d533cqJDnsSrOUM1r5x4bE1OUedAJmfkaX35pLpG1h1AcSOSTvYre/zczVtGEIIvE+SJSCO9V3Y6IHUrlOMiXhDwPvOcPi+KBcibKzMDDHmp8flVInc4rT4F/+Xaou2WtjJKW8LH+DkHUnvTusygrf+mv1zxqpoRRcYDlSkk0s/q6zyEjnxKjF7205cHfmhmXMiDd4FP1vI8RyEdNhlpLT5DewiM/8rFZNKS7sf5r9MI8Get0fItFW2J75xd6JHQllgE+FCbvzyUM+T7AYIzjF5+Py/fftgoknbL9lG9SN2849hT/YfeJIyHWDnpp5bo9eRrJwkaapqC+7HTLEg5Prcf/nu19+7pHli8iWFhy7WwOn9hxNaJDhQ7FhyyrxxrfkBUSGhR1hSjKzwR1aE4yOj0UyihcsVTLRPa4ZJbH ImOJe1/u uh6Oqn+ERh6cF6DgE4UPQkh1IH81xnUTaeVJKIhh7sRns+ENH5UBb3gkUTAtc5G8MkX4p9EKEgnQhp3XJt5ETJyo2DpPlDaFAZr1QDa4kvYtnLeuR442K3dQnCt40A31VoyMwr7PyFrtnSNX8IJnIu3u0mUmc0+cRpJ8aDD4t0kqIyl2MfjPteJIm2/LeqsEbaHLAZzpttO1Bx2vy4L1ldDcE5rilszSSLRxq6XK+JtD36zuzzgSlB3Nt6jgiBjqtYUngHXm86BXgs6049Zrs2fxQZGcBbWJ4HcizySKUbOLg/QHMDIhg3cUEvFAArHBU2eGB0cVwVuFw97lmoiNorBuv6ftfDViZ3ixcpr6T9+SjuYD/hL1l8kPpvGq3u9nyeC9YPaSyauQmM0omLqopoDfnMz+6Cn8wpUocxTovuU/cLXfTFqQ507/6ETYRPMgsVnRSIyEKlGBNIEmtKm/ii8Xjryfmndr74c5UrndtFzriyE+ww3TgaTWiQzaJHj/OBZLsDcS/vX2OFUpSFm3rkEJV3x6HkU1GzKAG0+DTVm1ogla8KaRlWFXESeHTbg04tJVI X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: From: Uladzislau Rezki Sent: Friday, June 21, 2024 2:44 = AM >=20 > On Fri, Jun 21, 2024 at 03:07:16PM +0800, Baoquan He wrote: > > On 06/21/24 at 11:30am, Hailong Liu wrote: > > > On Thu, 20. Jun 14:02, Nick Bowler wrote: > > > > On 2024-06-20 02:19, Nick Bowler wrote: [snip] > > > > The per-cpu variables in mm/vmalloc.c are initialized like this, in > > > > vmalloc_init > > > > > > > > for_each_possible_cpu(i) { > > > > /* ... */ > > > > vbq =3D &per_cpu(vmap_block_queue, i); > > > > /* initialize stuff in vbq */ > > > > } > > > > > > > > This loops over the set bits of cpu_possible_mask, bits 0 and 2 are= set, > > > > so it initializes stuff with i=3D0 and i=3D2, skipping i=3D1 (I add= ed prints to > > > > confirm this). > > > > > > > > Then, in vm_map_ram, with the problematic change it calls the new > > > > function addr_to_vb_xa, which does this: > > > > > > > > int index =3D (addr / VMAP_BLOCK_SIZE) % num_possible_cpus(); > > > > return &per_cpu(vmap_block_queue, index).vmap_blocks; > > > > > > > > The num_possible_cpus() function counts the number of set bits in > > > > cpu_possible_mask, so it returns 2. Thus, index is either 0 or 1, = which > > > > does not correspond to what was initialized (0 or 2). The crash oc= curs > > > > when the computed index is 1 in this function. In this case, the > > > > returned value appears to be garbage (I added prints to confirm thi= s). > > > > This is a great catch. > > > Indeed :) >=20 +1 More broadly, throughout kernel code there are a number of places that incorrectly assume the cpu_possible_mask has no gaps in it. The typical case does kcalloc() or kmalloc_array() with num_possible_cpus() as the first argument, then indexes into the allocated array with a CPU number from smp_processor_id() or a variant. These places should be using nr_cpu_ids instead of num_possible_cpus(). I'm usually working on the code for Linux guests on Hyper-V, and there are six occurrences in that code. While they probably don't have immediate practical impact because I don't think the ACPI MADT in a such a VM would have a gap in the processor enumeration, I'm planning to do fixes in the interest of general correctness. Michael