From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from CH5PR02CU005.outbound.protection.outlook.com (mail-northcentralusazon11012054.outbound.protection.outlook.com [40.107.200.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 822CF42F712 for ; Thu, 9 Jul 2026 16:13:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.200.54 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783613626; cv=fail; b=NHw5QevPEYcdgM1MZghqv2uILGytUJse1ER5q/UJ/V7C6tOZXVlB+VRLnD/977KQNXVjR25DJ/J/JVzFBOJKK+lEMY6i2HdsKUYsEqNb9sM9nWvnyT3YUxxZjpKR37kkLSvvEn0+V7D60iGEamZRKwj88jO36VpNBCjRAPOPzwE= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783613626; c=relaxed/simple; bh=87AquMYellF5cF163SzBPeHJ95l5CSJDus2weg8kxFk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=ezxx+WzGbbdmJuSCJUocDDkdr28mknspw8/UZsbzYuc166FOICa/gF6GvgHJ4a0OiESzK9rI9lIdPcdiV6EaL9lyCosinZWHqNXUB5Gp6kzI3jH0paHCmiL4ldM2HbTSrZQypfqVcKR+IrM535Q5a/rjevGv4AotxeudannbWno= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=Lp1HS8SN; arc=fail smtp.client-ip=40.107.200.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="Lp1HS8SN" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BPSZKczSUUXrYbCtI7ScKuzfBONreWzG76YMxQKYR3Ge6M8tdz2Lvz2jSQEV3+AsBVpgX6ALAD+4H0lBWFJW/vxsaO9oBdWSDPy0wDvr6Xkdq1+c1BdyTjNBM0dqOADSt7l20nLbOCwmiiV6ZMAnrQhoHnKIblLal1IesJxpaiJkQyFGM1Quv8E8kpUMRCjLLyCUusozPyYJIxTlWjWkxZVH5AkZA5++746viFwQLi0ydNDhEBQ+Q7jMzxVIgcrGdk0fuOoGQ8U4QxypbBZNOIR1z986MQBZqzfEv8HhVRWe+ccnU57VJlR5l7OJfYthdjGJehMOzWHHnuk7yccFpw== 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=wNX2K/og9RjFMa/HAei6CBqBXpzbMEmlhTjMZ0W5fsQ=; b=X7nyKjyzqRO1ZIY+BvsjaFj8pueEdhLNu2t4vmguYWmjNndKNsLi4Gzn4DAUcSBaNRv97dv4TdfXcS0E8kPGx7rGk9RoGzXAOJwrCohS7j3rIL4BmlE+CpXaGKC3pz1s9KHrY6JkglUmIviVCtpuUO0KcfHpqNEhh/H6AZpBaCsOS7LoXTEtj7O4NL4JRsyFGOoqHa2+ASVER49zGkXKJ3iXoixsoHamJXUap6tbQi20+udf9a4tgcmsODaBIHFGBBMPmMPnAZ0laK0YkaKFVNR4GI33vVtE0y+wtMuZC/qlq8UY0IHkAF9wFMDqnRzVCaYdICVQeQrMYeti8K87jg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wNX2K/og9RjFMa/HAei6CBqBXpzbMEmlhTjMZ0W5fsQ=; b=Lp1HS8SNevW7UtP5uvQXq06VofIh5PDHeo4aNjzkEEzHmjDitnQuNMAD/0yQAx/kfRkfdtjtCIGmEAV+zm66hHQLOm886GEKavzuImW6K5joyvtMEDrKAl4kd3WNlaf7W/liiT9/yuqQ6vC1jXadhkKzxwNNnYtFW4lbsNtMjgLjc0u1E9BA+tcsnzL/UM2WiHYRLTDWWroeBUX4NuAhqq+4CB8gierkdSQf4O9DXYg3tQAX0F4l97Fu/fP1S3vbHN07gQh1Ko3XDYawG/UaT7K0Fy6NH9s+WcgsurJM6tJW9VOh5Pq0wB2pAfauz9GTa1zShBSnW5kAxXWIjVVa2Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) by CH3PR12MB8878.namprd12.prod.outlook.com (2603:10b6:610:17e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.8; Thu, 9 Jul 2026 16:13:28 +0000 Received: from IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16]) by IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16%5]) with mapi id 15.21.0181.014; Thu, 9 Jul 2026 16:13:28 +0000 From: Zi Yan To: "Vlastimil Babka (SUSE)" Cc: Andrew Morton , Suren Baghdasaryan , Michal Hocko , Brendan Jackman , Johannes Weiner , David Hildenbrand , Lorenzo Stoakes , Baolin Wang , "Liam R. Howlett" , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Mike Rapoport , Dennis Zhou , Tejun Heo , Christoph Lameter , Alistair Popple , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 4/5] mm/page_alloc: make sure tail_page->private is zero at page free time Date: Thu, 09 Jul 2026 12:13:26 -0400 X-Mailer: MailMate (2.0r6290) Message-ID: <4BFAE46A-2AA6-405E-8CA7-0802C25EC21F@nvidia.com> In-Reply-To: <9fc67666-ac70-4d03-8836-5f8a9f5f1ff6@kernel.org> References: <20260703-keep-subpage-private-zero-at-free-v2-0-2970fe777dd6@nvidia.com> <20260703-keep-subpage-private-zero-at-free-v2-4-2970fe777dd6@nvidia.com> <9fc67666-ac70-4d03-8836-5f8a9f5f1ff6@kernel.org> Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BN9PR03CA0461.namprd03.prod.outlook.com (2603:10b6:408:139::16) To IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA0PR12MB8374:EE_|CH3PR12MB8878:EE_ X-MS-Office365-Filtering-Correlation-Id: ffeee1d3-b58f-4c5f-0de1-08deddd50302 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|23010399003|366016|22082099003|18002099003|4143699003|11063799006|56012099006; X-Microsoft-Antispam-Message-Info: A5nTy8t1fu8ygtKHPn88I1WdmAA+r8/nAQ07UCYNnQJKPkw4jw0p4KQ/EZbKRMq8u04jplKq9lDJyUmRvjkkXiuZTJmEifVx3SluLcumBi75SYuez2XlayFQh4ldiYBGNlHfzsdps1jTwn5K4X7P3M5+gSGgpPUA4ZM7HWdKyeeJ5jJZmtnLrrDmE10KqhK7dJnOTEfLUsIMWN44K5qFjfAkwtIJqRrnmgY9+ROJ+lB6nMBgg0qa3f7TLdYwqhULLXFYtHXzqv+5EXe2Dj0IHgJZSpDjTnsQ+xSe+L4wmOmNibPQLyHVedFnmtFRktkloqKza3IhL5Y11Pby4CjHuUDJ6m6Osz7vzgPleHfXvjOG99I3QVs3fxpySZubotxOgokPtzqcAb5YMQESefS3RLILy+ulsiHRKeDmWVl5cqSz9dUOp5aYXMHPk98e5W0sZQye3/MlwZkVhrQ1bY9+8x9sv99CsOTlsgwA3fUi9YLJF1PxQpSpEhW3EZIJJSJNMf7lt9QdAqUYLsXw88vJLyGdp3hQUsVRfEFrb5Pak24qYE0bmAKtgGi/aadvdGnNL/HNqE/1vQCXVCt8yg8k66uSPNAF5269wkkk1r2LN6q0yKqZTx4nmmNVSmcJnWDuW/R6Uz9JZccm0WmqeNGja70wYXyZoU//gp5ILqUrocc= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA0PR12MB8374.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(1800799024)(23010399003)(366016)(22082099003)(18002099003)(4143699003)(11063799006)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?InYX8xXFiGulswRdTdWVXwBk8GS/MkFB4R90rgYR62DzLijlRlH+aYhCQQRD?= =?us-ascii?Q?V31PqWra2zuYretM5m0YkBaFcvd/hY6swl5NvKHM6UNp3s1xV/bA3k6gidDB?= =?us-ascii?Q?0Lnt/cH4VcuzaN8y3t2qPiMmvDJy221mpEuWRKgZubxKFi53WuFS6xyY73wk?= =?us-ascii?Q?w9mz9lOCLLyqorEGH6S8+lGVomxpNV0pLbC/g/wBdRd83fkPz33YcDVXU+U5?= =?us-ascii?Q?0aH3KMilj9pvVTNwd+c61eSp3hXBAvfGdoxLLfgqwyoKk9KLAIwNWxDrrMRm?= =?us-ascii?Q?2kuDYshkWVOTRitr5DDjFewgkseEEqvt1lSiH6X8WPvcNHxWotGVDxrJlVrY?= =?us-ascii?Q?6lTJ18INQBcGP5qThz8YtMv3C7Fzu5DI6ao96ZPrUyatKvmB7u3BAzz1FiZk?= =?us-ascii?Q?Apulx5FXdQD57HRbAn4m/C6WvSBIlfQhNYLsduGfFu26yrMbl1i4NbcDCB8E?= =?us-ascii?Q?tsNZjeE3+lScxwhXhi8F1OZgGtiAgCghSiCQE8Y/iDqxOEPObqCKzcosxY8l?= =?us-ascii?Q?PBL18FkrJo9IABqYXgj6/n/cqHxTzuam7iRzhUkRnF8LRISgO8DZSxFM02bB?= =?us-ascii?Q?dvLBeSGBevFioOiRMA5Gto8gPGJg/apr9KnD2OUUvN9hI6+LxX8X2UxdX7cc?= =?us-ascii?Q?2TuiQgzUxge7YZAL/Rfccr7UWpqvzlmcgOlWJcsgCA4LUIbzMJuoLYHbXQ8L?= =?us-ascii?Q?9ZQViko3i4fH+4ahu5ux4xD02BnWTvnF959tv2xGyS/oG7Kkny1M/XaYI4J1?= =?us-ascii?Q?gFoyZ6vkh9uVA3kTrVJJCywnurNyX8qIyOq2O7QuZKz9EWby2A4h2Ri/CWBA?= =?us-ascii?Q?CmJyFj5JkebGtZVHfyPCu+SpHk69IXxvRAErmt/7RdXpsgBJnhiiEKtNhijQ?= =?us-ascii?Q?PqM1W4NIjGii3FcNZiQDJf9wZncLvK5zP2ztZUUYdygeU/8NjEt7CDYjTMlT?= =?us-ascii?Q?mTKIqsDEckCb0fRm1GXOXAN2OLd4/UEUEllGS0MeqhiydbdNJpeSdl0aStEt?= =?us-ascii?Q?mIuBJjuMfQ7mdUP9w5dLyTRUYtjZNlAUXAIBbSA1yhHOh83eSyEBIBpsuMZA?= =?us-ascii?Q?LriKk8/4x6ZjvbdOhfRRyZJ+ZrXIVuEW2qy2ogzz+0H85kqoaKjDtbYWlAoF?= =?us-ascii?Q?lyhbUxho8klc0f+hmZUXz5Rv/JEDXnbxy80O5rHBP4qYiQqwqJ6JIyq0uTEU?= =?us-ascii?Q?9CBPRDGhB0j6uh2KqPEAzlCgOokW60Eoxmid7DEdVdV1TdD2rTbasaOjd6K4?= =?us-ascii?Q?JJmRS8CvNRI3lOF/uJONXVZPJU/RLwMQDkmbKqqlq2qvEFq+8MX9Yv5TT0Nr?= =?us-ascii?Q?idf55x+CGZtodiEzMdg8k0xBwChkPNhu8T5jxTQD5dbzKXjPh4iqrrqsQBZZ?= =?us-ascii?Q?7xRzH9xY+E1AE9yBAXZzxO8zbjn0w8TOeKYYHnlIA9ycxwbDHwnC8knE0IQL?= =?us-ascii?Q?L2SaX06ZGPUHpQv2hxf6NoS9FeCtD6j0MqSmAkt0+kIbbDRVmNIhD4K0Mla4?= =?us-ascii?Q?veaTIgVlQpsyGWaERYd0+irU+a6KAPLu7jXkoqDhYL2IKnGrNf6Uzbekgcvx?= =?us-ascii?Q?8Hh8yvBx1s32Cdub/lNwx5+wuG/DpZA9CtUjhllq9Av8dFWpxLkESFmF2xpQ?= =?us-ascii?Q?oBj76iFcopti8cN1tVzVWsdffz4hqzqIZX6adLpBmeiK5IOfkBd9rR0xxmfI?= =?us-ascii?Q?+Hxcfc9Db8aKX2IvIHxQDcpSMSX0nl8mmnQagfP5B8ewW6AC?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: ffeee1d3-b58f-4c5f-0de1-08deddd50302 X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8374.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jul 2026 16:13:28.3021 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: c8y3QAYgO+svtdRACJsXNn5yRqGs6kcNfRPUHpzmOSQlXkbT3KAOMA5aSB8nYGPI X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8878 On 9 Jul 2026, at 4:24, Vlastimil Babka (SUSE) wrote: > On 7/3/26 15:47, Zi Yan wrote: >> Any code using tail_page->private of a folio, a compound page or a >> high-order page is supposed to reset it after use, otherwise ->private= data >> can leak to new page user and cause unexpected issues. Add a bad_page(= ) >> check at page free path for it. >> >> Signed-off-by: Zi Yan > > Reviewed-by: Vlastimil Babka (SUSE) > > Nit: > >> --- >> mm/page_alloc.c | 13 ++++++++++--- >> 1 file changed, 10 insertions(+), 3 deletions(-) >> >> diff --git a/mm/page_alloc.c b/mm/page_alloc.c >> index 762d9b6bc792f..723a52dfc80f6 100644 >> --- a/mm/page_alloc.c >> +++ b/mm/page_alloc.c >> @@ -1376,15 +1376,22 @@ static __always_inline bool __free_pages_prepa= re(struct page *page, >> #endif >> } >> for (i =3D 1; i < (1 << order); i++) { >> + struct page *tail_page =3D page + i; >> + >> if (compound) >> - bad +=3D free_tail_page_prepare(page, page + i); >> + bad +=3D free_tail_page_prepare(page, tail_page); >> if (is_check_pages_enabled()) { >> - if (free_page_is_bad(page + i)) { >> + if (free_page_is_bad(tail_page)) { >> bad++; >> continue; >> } >> } >> - (page + i)->flags.f &=3D ~PAGE_FLAGS_CHECK_AT_PREP; >> + tail_page->flags.f &=3D ~PAGE_FLAGS_CHECK_AT_PREP; >> + if (is_check_pages_enabled() && tail_page->private) { >> + bad_page(tail_page, "nonzero private"); >> + bad++; >> + continue; > > It could be moved to the already existing is_check_pages_enabled() bloc= k > above. The flags reset doesn't need to happen before the check, no? > You are right. Will change it. Thanks. >> + } >> } >> } >> if (folio_test_anon(folio)) { >> Best Regards, Yan, Zi