From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from CO1PR03CU002.outbound.protection.outlook.com (mail-westus2azon11010045.outbound.protection.outlook.com [52.101.46.45]) (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 32C363F1AA0 for ; Tue, 2 Jun 2026 17:46:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.46.45 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780422383; cv=fail; b=RYiI6ED0q+J4frZKTqAlzuBxCuf4iUP4/5avULu2KInLPKUzbM+fv4dhArsUU7ko6AzkkaOXHG0L3EZ6V3TFE6BvFo2uDwCML+9iZEheBTfpu+xnYsp2EZ91eExuNkM6FB06XYLwhdp35et2him2/VAneOssSihUpxc7sycKjwI= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780422383; c=relaxed/simple; bh=8+V8aEdaF30s1YLeu5aLpaaHdiGWgOtbMsKmGGxqnKQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=K/yog1bWtzaumD83DYU4vtehzFFjSzPh6basmo7VMLEj1QtYdyjoA0zSCgXmQPz0gt/zdTgb25jWjDm5cuwqjmB9qivccpfny19NvDQHuiAhIlfuHoNib3x/xdqbrXrjGfwFYwr2y/r02+CvtVmICTKor2Ba8DzM9lInBNGMK/g= 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=lOiFT4Iq; arc=fail smtp.client-ip=52.101.46.45 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="lOiFT4Iq" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=O03p0nJ2LMY231U7XFkXI3cgsViGCbzfInLMAnbHn6Tr21PqnJ+pq7ECGAdUCWFlHHn+75PwRzh0kYykRNO8ucYjthtR9mDdeCq0uPoU3KSyrehcjWvaqKSPd2Y5wrRqOPayVQgLQmGx7MWjGSpjojAZyKtz8Bjq1yOCafFxgdYan/KuliBDCar0rsZHFniBCArH5LHC50a09lUFVvr4CDQekY91kJQVJKWNPjuVjj6VEfyPmYe7xbHPHjeZfEvmlCPBine8rNeJ0NUaYoE/9Ps/LvAY+hA8Z0/FQINr/tp2ENrEkzG5ROyjaBohKANr04VTZ8NpD/lsJclfGplZTw== 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=ESlPa9Ug0A6mTG8AVoUqSglzO81tywO0nYb5bjQSE4w=; b=DecM30I9T3v2E5moGWCpA53c6HbcMkoL96UtV9gI8oOJzVcFsY5/dFJXD3g4RGAjRqufA2iZnfLJSbwzBLvy/ssgv/OjJ8c+6o4P2wuLiiPKS84tvS9KK3HPa85jJzb//aAVu2l1jFyj/hfYvmVSMZUjDdvrB/z2elqOSltDv98dVwzhagvA82rvCh/o4G/87jEpHSuwASx5PYKa7xYrTmMP8+gswyVh0cuC9EaS7TK9USyr0BF1YpK2JXPAxxKLOQAeFy1bRO/criyTgOfh33SfxlOEZI1Rq4JZYkSxJtNoyY/tSzZjJ9bfWZ+fHOacF1H477ZZlpjMp+Gby3CRYA== 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=ESlPa9Ug0A6mTG8AVoUqSglzO81tywO0nYb5bjQSE4w=; b=lOiFT4Iqwm6X3xfYa5S5vq8GWHNVKxDszayd3+DKmzif83DMc7tsiqY7Hty6+pOIQJL/iZ/Vpxkhb/cAHGh86ty6EEsgSzdR+O6k5cMUBY+3VrprQHDYRzy0qr7ffuSC86+Eq+BvfEhUKXLYNsWp8tc8jQP4u2enXxSHwAWu2au1/u90EevjTP1RJOWw4FERql+KBQd2jAtxIijmDybameIiFpXPLzp3V8mS9qPsP2nji3cRic+nlWdvOPo+U8ummECFoLeqLZ6rv0uX3015KmCS0j29VT7hAVfmep7AJhdWA9VAWe6kLEoocCCS7RqIWDObE61KewSEcG+549VIAQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) by DS0PR12MB6440.namprd12.prod.outlook.com (2603:10b6:8:c8::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Tue, 2 Jun 2026 17:46:10 +0000 Received: from DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::f01d:73d2:2dda:c7b2]) by DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::f01d:73d2:2dda:c7b2%5]) with mapi id 15.21.0071.014; Tue, 2 Jun 2026 17:46:09 +0000 From: Zi Yan To: Andrew Morton Cc: Kaitao Cheng , Vlastimil Babka , Suren Baghdasaryan , Michal Hocko , Brendan Jackman , Johannes Weiner , Liu Shixin , David Hildenbrand , Oscar Salvador , muchun.song@linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Kaitao Cheng Subject: Re: [PATCH v2] mm: page_isolation: avoid unsafe folio reads while scanning compound pages Date: Tue, 02 Jun 2026 13:46:06 -0400 X-Mailer: MailMate (2.0r6290) Message-ID: <07E96104-E481-43E4-9ECC-5247A6CF4EE2@nvidia.com> In-Reply-To: <20260602101147.2892436f68fd383723c39855@linux-foundation.org> References: <20260602130755.38794-1-kaitao.cheng@linux.dev> <34F0943E-4ACD-4655-B9B8-41F658FCDB7E@nvidia.com> <20260602101147.2892436f68fd383723c39855@linux-foundation.org> Content-Type: text/plain X-ClientProxiedBy: BLAP220CA0016.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:32c::21) To DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) 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: DS7PR12MB9473:EE_|DS0PR12MB6440:EE_ X-MS-Office365-Filtering-Correlation-Id: 563b1ec4-83eb-4888-28f9-08dec0ced4b7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024|22082099003|18002099003|11063799006|56012099006|4143699003; X-Microsoft-Antispam-Message-Info: 9mHeqzrewPZURknD0z6DiEIQ5ZY4o/DwnkaCZhxFPy/SkVfROFiLR+8fVBUyfhOM2ubTwKyR9PwTYBQ96v4KteSkdE4USVlKv0sDp02EX/tdrc06Y+9R+lLGdf7/QzZ5LgY9FQ4z/Pf5kpoxCuZwdIYyEa1douVQlQ78m/6Dsk9eEo2jfUKwSCKguu2P8F4H0uL0Q0UqlKWBWogHI1b0dZrETVO8UN7NB1LEunCDTZP480NilEFw4WeO4HGuf6olG+V3aZY3g/MoRRmT5I6dgzateJGBY3a/LHPtUerd0ZuTRhirdpsO0lhuPvjwh9PKFLYtyasDLpL4A1NeIos+hXhHuPLmTEulAQVaggSKdtgdxGvVO9lAG9NsI9w5RbfCyzdkEoH7Bnlg4K7vABRe9TPWvwrfJGZsVeJJsP880UDRIe9YIL2OEyT4s517s5uybA75OQTrZDUgvPKiMccC/gOkZ3PBIDcR3xs91q9xWgleral8ZNQVY5hxeuPTrUjoNV5WP2EfOWSYXKRs7YijqfQE5y2NGTp/oXiME4T48jusFAiP1DdVXNQBm3u1BIKCqyJIRwEOnT7KOTG184rcC5RWSKUgzHA5A7BhimLpxiDC3LDoSu0dmJ87GLQiw7HNL8QSbRZWgUql4ldNVHq/nCUW4DWIlVgicCVC+I1Gvk8JSVk/h4/va8FpDnBcyNMV X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR12MB9473.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024)(22082099003)(18002099003)(11063799006)(56012099006)(4143699003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?bKYV1/hTNjisSa+K7YxrZYSYe3BRt8T4hri74hTbgraJnf1SFzDwUhBvyRtU?= =?us-ascii?Q?/mBWmKkayF4J4bPNmuNa+MN8nk/XpG/oFhjPOy3HM/GiPTeeEYdLbFt9tmc2?= =?us-ascii?Q?o5z7k+9CSrezJHpjXVQAPLCtrXVY6HjAJZOB6RL9uQYygSHt/wIVGhS9NLey?= =?us-ascii?Q?gUxu1cpkN2THHrdU12BS+xclF/AGITgO0R4K89Ax65J+JGI80VFFYeXRbk/G?= =?us-ascii?Q?kCC9b6FZu/QUJ9xFrMb73LOHMID9lp6MXVSwTW6+h2HuTWR4RHYlILtzzwFQ?= =?us-ascii?Q?64mQMqbxEjYkDDUtcmoLqe740KUXc2D4/IvBYrNvDH1tshYiR4To5sH5tsOm?= =?us-ascii?Q?xnldSpH9qCxYyN3xyYbx6NjlZYct/E4ygdgzyA1hRSB00LXw/pyqq/oq9rGp?= =?us-ascii?Q?DviUmypDdkLtOHqGPVjrMp7qoDUtklf4BMi6lh7MeBUOnYvcorjsm8m2HJrQ?= =?us-ascii?Q?TngZggJa4AKq/Cw8a5HTsfSHxxkBdepx+R0zQ0miEeahTIpqzqSp9mdo3062?= =?us-ascii?Q?AamACxGV00yDZSPoZbxFs+j9dXcYhPIRM24i8k2cgwFGH2d5h55VuyXxny3D?= =?us-ascii?Q?oTt9EgxaDI1jiMYMFTItGHLbGp+s10F3dTcYpZoHLkNA5mcqNBXSljCe9oNw?= =?us-ascii?Q?nAwTWmRo0Nhobntb7HfkG9R20zoDcnODaIG7nQJD/LHui8LYxD/jE1E/y7Wk?= =?us-ascii?Q?XFsrLFzrfPIej65FRSrjFELXCEjRehu3ornvla51+p//QXiBNBBuP3dngwN+?= =?us-ascii?Q?6Q4ccp1bvv5RgcpFGDWhkwuQD9LefgO3ixlUO0biWFdnkSSy1vdMNO42B0wY?= =?us-ascii?Q?70gvHXvYRYnPqhBfn4c4ySZRRj/8Kdgy2/15h3DSCIeZd89pD9vmsMqZHwUF?= =?us-ascii?Q?xYWPn2c2qR9q1p0yAZO6R+Pt+u+7Rhsde0AVV0Jb3PrwqTcrSFdx1qKam060?= =?us-ascii?Q?IvTC21As5PnPerYVAuJSHU/q+91EmIXe9ct1R6Yrg015/1xdb9m5F8wR65RN?= =?us-ascii?Q?D3qP1MXu1s80Q/wGaI3+SdZNn6HhgmCpKn1zSrSSsEKizxD3VS7vNCaH+zHh?= =?us-ascii?Q?Cm4oVn/G3iLOOcXy7mmtMbJwSFurz47hDROtdOdwDqNBoMuMhALeQ238MUnB?= =?us-ascii?Q?XibJWPZEKGG4BRnaeZGS43RNGbD4JYHbWm5HOLS5YW4bOPP/4yg3y51w+74p?= =?us-ascii?Q?mHL/vREg40TOkBdxoBYSvg4n+gpep6WIalYxSKUxYkGwhQin3T60l/6GisrP?= =?us-ascii?Q?qDQSuwQv0xI5I4MGkf9fcwxj6qYfIw5RJNibZN9JUrj0wyKeM7B1hlDGP06d?= =?us-ascii?Q?4rYEDB1grbCnHAYQLlEO5Npl0YGtnGytwYTu1EQxvXM5Zjpd7fv15IXPbvJ0?= =?us-ascii?Q?5CcEGEPGVcpXCpxExIzpvMdNNEx4JX1WmFwmFTJkJnQMMm6nUk81GhF5vTPS?= =?us-ascii?Q?ZcF6lINL1e3F/3RtGcXdqqkyXs1ATxKiJB3tniriFXMCrUpGqnLtfc3eMTpg?= =?us-ascii?Q?Li//qmiMm6101lsa9Ony0PInYZAJ/zArutuaa54gzxHGQltpV2zWTZXHFxRv?= =?us-ascii?Q?pFlJ5MGk6dl/qkZUqmIPdS/AJN5yHDVmhe3Mq0kc3jxTT2V9YtH3USGLnypO?= =?us-ascii?Q?Tlt8DiqWAAFqtE0Xe2N0GAXDnhlTFs03061gzlEe+ucg3sDjTxGPoJRQT5CL?= =?us-ascii?Q?pVXqoUYNc5wmVc4NEBzLvz0B+pYlF+3BX5xaTqok7DRUhXdk?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 563b1ec4-83eb-4888-28f9-08dec0ced4b7 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2026 17:46:09.9206 (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: loptiCmDbQgb0Xjh5RKQ8rRTAsxzAIeFxSZWyzOWsZZfz7IQ0zA9yYHO6BuQWrll X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6440 On 2 Jun 2026, at 13:11, Andrew Morton wrote: > On Tue, 02 Jun 2026 11:02:41 -0400 Zi Yan wrote: > >>> - *step = folio_nr_pages(folio) - folio_page_idx(folio, page); >>> + nr_pages = 1UL << order; >>> + pfn = page_to_pfn(page); >>> + *step = (pfn | (nr_pages - 1)) + 1 - pfn; >>> return false; >>> } >> >> LGTM. Thanks. >> >> Just a comment, order can be dropped and use >> nr_pages = compound_nr(&folio->page) instead: >> 1. order > MAX_FOLIO_ORDER -> nr_pages > MAX_FOLIO_NR_PAGES >> 2. PAGE_SIZE << order -> PAGE_SIZE * nr_pages. >> But it is not worth a new version. >> >> Reviewed-by: Zi Yan > > Thanks, I queued this. > > What are we to make of Sashiko's question? > https://sashiko.dev/#/patchset/20260602130755.38794-1-kaitao.cheng@linux.dev Sashiko asked if compound_order() returns bogus order and the code can skip checking unmovable pages and return false negative (the range has unmovable pages but returning false), leading to offline in-use memory. Answer is no. 1. order > MAX_FOLIO_ORDER restricts the number of skipped pages; 2. the actual users of page_is_unmovable(), alloc_contig_range() or hot offline, will perform page migration and unmovable pages will fail the migration and prevent these users from doing anything. Best Regards, Yan, Zi