From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from BN8PR05CU002.outbound.protection.outlook.com (mail-eastus2azon11011050.outbound.protection.outlook.com [52.101.57.50]) (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 7E5BE227BB9 for ; Tue, 7 Jul 2026 23:49:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.57.50 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783468171; cv=fail; b=EzFvRg8kqk2ewfxtnBn2wo4FC7urwA6u63jKj4MS5fTk+6J5hNia0GBT1jiA/znTBwqnSZwCvlQNoLdKRu7UU7fA8a4h6p7/VMNqOHlsyE2mIFLtBzuD3Q8AKWT13nH7VxW9zEnCzxxnAstmhSyqNBp3HHdVmekBo6saX74Zt54= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783468171; c=relaxed/simple; bh=1DIWlLnsOrpRClIWsyjeg5BeXKdCHmnpMHk+adaXgZY=; h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type: Content-Disposition:In-Reply-To:MIME-Version; b=mxY43MJZYRxJVIJz4pvZrn0ZQddeiqcolCtolpmnD9bCa5DIVhAF4A4qP9R9UKzETfBxugP1qBZJC1S42/0dEQaYX81uTigg8iCfrAjzXG4YtWQCd6cYK+yPF3zuoApDnFmGrGx2qZV8F01fvZjx05gTOlxdNpwd4uFk5za1GTw= 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=ZDv5Uu8C; arc=fail smtp.client-ip=52.101.57.50 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="ZDv5Uu8C" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hoitmmBjft92hNzQwe2ldxqmexQr7vgB341ZZoU0nlg2G/DU1Rn1BFbcbcVmC/+fJY8vXt0a0MsrKOCPVBUGG/HPPLNqTwjJEsHirSIrm5GuoLjBcLEci+TeZejBmAgTVqvFI8CjPoPm4r3HUs0brVGf2N/yVp+dWjHs1h3gsFo9Mp9Q/RWg47qLzsQn0csynxSITQsW//rx2WKk07NgWqOKEsIOfLCYrQT84zkO+UDe+e1AakQ8hbuhPd4QJG/85736Og/8tPJdwMNUKGE8Dy4ZHXy0NyhysaecGWOoupYq+te4yfjXY3fnT0HpbLbjXySh6NDNiwqUuFdftFePxg== 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=Eg5GQEE6Y45IDyBExRx0aJ+khpkhsqARkor+2d8RvH4=; b=WzALlqoZZLKr/cAv4mAw95nJZq1TazjqO152gHzqEtOSiH1B4Vt7dvCRx93ri5gjrrN09nmSWM7xEF5LX+WExLqIuU6DV5uetnsDFnYRkL6vZFyF3dpebjrjKSPsWadW5/JXhxxS2C+KmT+6tLbhHEUEZ6KXivCSOQ5GyOMmikZyEuaxBm1BoT8Cqg0BiaN4lnZDIvrsTGlI0KsSWA9fpwpgvhhHoedApSqPI0ZbdUmlIa9IkH6xpGsucfM3SM32sNHiagfZLuYYqzBYleZoMqrR/mqUzbwphuhvhwgSQGwTgVB2RN5IITaOtGjJQUpE68PCrT2jfvVVY6C2J5yEfA== 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=Eg5GQEE6Y45IDyBExRx0aJ+khpkhsqARkor+2d8RvH4=; b=ZDv5Uu8CSMZHc//HXzoYji2GPVAV9XcKEImi864msbzolK0KWjcZZmCkrFyFIhf1xwu+sUx2nkZU4qFB/UpwqyhdPOvDMovWDnSYM5amUhhHR+xBd3LP6in3UEcgKeOhaAJGqLjqmtC77txBfYJ90YUfVGnoJdjLL/p54v1r5aVs8f125Insr+AOj7DbBOZ1hScN+sOgBkzyczdYOEeBBpdyPN1ilBNiGf9n6gx8Ga9XdcLP0HTKw9toeLJRoUmlUnz6IWcxQ/UU6DHAUF8hgS7V4Vp0ajQ6AxnND6g0JlDzUeivbGQRy/xV4I/G3J1m9c4Qd6gDy+EvHm2S0q1H4g== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from BL0PR12MB4995.namprd12.prod.outlook.com (2603:10b6:208:1c7::23) by PH8PR12MB7110.namprd12.prod.outlook.com (2603:10b6:510:22e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.14; Tue, 7 Jul 2026 23:49:25 +0000 Received: from BL0PR12MB4995.namprd12.prod.outlook.com ([fe80::dde:9068:4b1a:53e2]) by BL0PR12MB4995.namprd12.prod.outlook.com ([fe80::dde:9068:4b1a:53e2%4]) with mapi id 15.21.0181.012; Tue, 7 Jul 2026 23:49:25 +0000 Date: Wed, 8 Jul 2026 09:49:12 +1000 From: Balbir Singh To: Usama Arif Cc: Andrew Morton , apopple@nvidia.com, baohua@kernel.org, baolin.wang@linux.alibaba.com, byungchul@sk.com, david@kernel.org, dev.jain@arm.com, gourry@gourry.net, jannh@google.com, joshua.hahnjy@gmail.com, lance.yang@linux.dev, liam@infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, ljs@kernel.org, matthew.brost@intel.com, npache@redhat.com, rakie.kim@sk.com, ryan.roberts@arm.com, vbabka@kernel.org, ying.huang@linux.alibaba.com, ziy@nvidia.com, shakeel.butt@linux.dev, hannes@cmpxchg.org, sashiko-bot Subject: Re: [PATCH 1/3] mm/mempolicy: skip device-private PMDs when queueing folios Message-ID: References: <20260707135255.292870-1-usama.arif@linux.dev> <20260707135255.292870-2-usama.arif@linux.dev> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260707135255.292870-2-usama.arif@linux.dev> X-ClientProxiedBy: MEWPR01CA0300.ausprd01.prod.outlook.com (2603:10c6:220:1f0::15) To BL0PR12MB4995.namprd12.prod.outlook.com (2603:10b6:208:1c7::23) 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: BL0PR12MB4995:EE_|PH8PR12MB7110:EE_ X-MS-Office365-Filtering-Correlation-Id: 8166314b-14a9-46f9-2b9a-08dedc82600f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|23010399003|7416014|376014|11063799006|18002099003|56012099006|4143699003|6133799003|22082099003; X-Microsoft-Antispam-Message-Info: YrMHpTg7lW1dJq9M/uFVjhLrohvIrJPzUEGVORBQVEGlpKrcVwX2+cV/aV/uDH1GM0sXy3Zpuj+Kw4E0Qjlj4UcHlhS5KB5zNhpQPR0M3+7My8J9ddrJt2lMjspi1rTckzDuneDiLj8sjumafls+x1hGgHJCPhqwLV8cFvl5qJvh1JrzjWlR9/QGfPX/UORgIq4ocXuGa6eVgh7TMs+tRMORMqMBsrjAdWIO/2lAovWCSrGUnfsVFX6C6y3+QZ5flxn5zeYucD/frHwmZ7ybcY8NNuEqiJn3LhcfqDhTZD2Fm3rOuGYHMCB1+fK/Z34InvL0AWM6H310rFxsylWKSTLYJfeoCSjDOTGEVfTieTqKzOojI+w5KR/5nLxsoZD9SAY9BGHPfIcWJknWYlDOcjyAg6aFIYhvaM5VBbbrNN2f7gdjmK+8VAk096/ziRNLquTMXneprTfLrRyEDe1Iu/s0U5AVHkR3lDNrhRQW2dsbvhFaZebgPl9yK3hWC50WHoByR9fFtQAIfnKn6Gy5UZdo2uv6AOe7ffGPSDR12Kd3k4/kyRBC4Rw3V2+87hErbfFlj5mnsyLBcnch4ZT1sx5QgEtu6rY9S6WpDczW7k+0XojMDGrn5BR40XGbiBCY6kTM4RR4oyqwcqpmV1Olw6C02mCcE+e7bAdh33D8kI0= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL0PR12MB4995.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(23010399003)(7416014)(376014)(11063799006)(18002099003)(56012099006)(4143699003)(6133799003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?T9CcZiBbO3LT7yZf9cEXSkwrg2bxLjwZTnpkRmy/v4bx43NE38Gil6YVydEL?= =?us-ascii?Q?5jtekRuesocegM1I9Ggmmf+LaKfesZh8JcVt2CTiYxmmu5qobN+ScBLzHFXV?= =?us-ascii?Q?U6vEYsh3BrbyoqdGI4SbZ8jbkkONZ2FN7b6OFqi6BAgi5l/u0ljHzZijp0aJ?= =?us-ascii?Q?PUJQELO2tBZxgt5C4gL8DAqAzgglnIz6IqG3A0t5MRqu9qM5TdhNRy4mZvHd?= =?us-ascii?Q?EgZZH1TnWmatVaeEDGRAqFn/o/uHQwfOcX042vhcFfnC7EZf2moD9ujUYpD9?= =?us-ascii?Q?y11CZovsanXntXUpvA9kVEd03X6uW5/fBxayN44UQ2oNWEv/edtz8FPtLagI?= =?us-ascii?Q?EUIF0IFiYfo/adJlU+mGOfGOWy0lDcIbj9Vy2WiLa2GRbAHJkwJJIqL09ug4?= =?us-ascii?Q?5Lir5wRB3YzlF3sOQmLSW1Vb5B0DVQbfFaI0XyUc9kyc1E+zol/zV1nHjCby?= =?us-ascii?Q?fpPcq3HxdTV0G2Hwm+z9QCV/rBHfyNb11zWRApk00ABGhS3Tb6iGuS0vI/rP?= =?us-ascii?Q?AXzYqTjzBzBesRgU4REzgfy4v7CmBcP0vT1YJ6xeNErAnlVAGKxZFw4dnozL?= =?us-ascii?Q?+SawI1KpUcKtxj6QYqDkjdpoTYxV9MGfmpwve8PpSYk7/YL7gcoTyRFTUZeF?= =?us-ascii?Q?ADsY0iWmc9COlznqZppuIOrwhyC9r1I6pn+tCYe6TQ8DICnyDm1TJzK16yPc?= =?us-ascii?Q?qA1+ruCOBVj5pdi1HFqR12D70ICX3VQSCOb4th80jGIurX9YROL3+gDiy3x4?= =?us-ascii?Q?MIAg8UY1Vxeaallwfc657KyYDi8y+pUZD+SWfodz7ljIxiPaviz3tU/LZvrX?= =?us-ascii?Q?nxU3i4VKdtwo3OpZjIw3A1TjkKgOdOPp3bDHmFqYHUZ+ftXpxByl0jtaykUC?= =?us-ascii?Q?X9rfsAPx6cOAnuvgw8GbORPLW2TAncrDfZTpglNrESdo0s0oooTWzAeuHaJH?= =?us-ascii?Q?NRF5nLksypv3YdTIUUP/pnH5kApRV+/NdunNtmpzUA4ANGgjUZYaG81sXtr8?= =?us-ascii?Q?44YTnOzcs7KzZbDsRSOQeNK51OyZzYszY4f//3hMQnPc4Z5L0frCQZomrq8l?= =?us-ascii?Q?+CX1yMLRxtYcbFvfn9gwltrk04R5kbEoZUHKZ56aUl9uc0lPyDrnU3xLBtum?= =?us-ascii?Q?oDKUgmBNunrZllNLwp5g5mhj2PhM2Af6kdXdf2lvtSHwP1qnEhBAXaRD+4w/?= =?us-ascii?Q?e9okP9nyIn4fOd/SPPEyzIxEJNyKX6+yEsRACwn8Gr7enxi2rie+E9ifryhZ?= =?us-ascii?Q?6dAJ88Yp/0mxOWhFW+h46Sxyx5NrHoHW+EPtn/0HVhU3MmSMYe87WZQrcHYo?= =?us-ascii?Q?AjupOSsWdSdQvi6yB+5S1Qg6/n5PCBe5ANY5HnSfqzZoiVfXT+KtLLVuyTR6?= =?us-ascii?Q?W2XXOtqdEJDriP9A/lI558VmiqrHN7AMhPt0Tcryp1Or0mkFjRaVpg+8Vebh?= =?us-ascii?Q?ZvS+aDtDfdLfRihOS9zmDHQwQpbPHpRas+DIzw1EfCntyt64Bn2sao9OqUL/?= =?us-ascii?Q?rLYayNDFc3+OV1UGJxY6elb1N1ElJrp0ehanuTOPf33xhcZIbIlB3cH0Ag2l?= =?us-ascii?Q?UD9gm6bjswUpbvZRu9j9sIjlHlXO8l4ZA21gObkT4c3dq3NH5ZIxsp24qZ16?= =?us-ascii?Q?kHkdbvM/ibGnt0RrndvdYLS26nwj8vfWj6NYbYsET4beRkUunLRox5EP8l2h?= =?us-ascii?Q?N9CNQcAKS0Zae8kZ4IdOIuGfZg5LcNTGwuGtdR5fQHPL6bh8?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8166314b-14a9-46f9-2b9a-08dedc82600f X-MS-Exchange-CrossTenant-AuthSource: BL0PR12MB4995.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2026 23:49:25.7504 (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: 7NJqxPDut3brSZSsK4e+z0n/BtsKEbw8+xe1TH6tYzIVeWHNkK35OmQTxqFA5Ww1x/HqPwf5d1J917tBL9CyXw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7110 On Tue, Jul 07, 2026 at 06:45:07AM -0700, Usama Arif wrote: > queue_folios_pmd() is called under pmd_trans_huge_lock(), whose > pmd_is_huge() check returns true for any non-present, non-none huge > PMD - including a device-private swap entry. Passing such a PMD to > pmd_folio() extracts garbage bits as a PFN and returns a bogus folio > pointer. > > Potential trigger: an HMM-based GPU driver migrates an anonymous THP > folio to device memory via migrate_vma_pages(), leaving a device-private > PMD. Userspace then calls mbind(), migrate_pages() or > set_mempolicy_home_node() on that range. > > Skip device-private PMDs, matching how queue_folios_pte_range() skips > device-private PTE entries by checking !pte_present(). > > Reported-by: sashiko-bot > Link: https://sashiko.dev/#/patchset/20260703173903.3789516-1-usama.arif%40linux.dev?part=6 > Fixes: 368076f52ebe ("mm/huge_memory: add device-private THP support to PMD operations") > Signed-off-by: Usama Arif > --- > mm/mempolicy.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/mm/mempolicy.c b/mm/mempolicy.c > index 914f81863db5..eda817539c77 100644 > --- a/mm/mempolicy.c > +++ b/mm/mempolicy.c > @@ -659,6 +659,8 @@ static void queue_folios_pmd(pmd_t *pmd, struct mm_walk *walk) > qp->nr_failed++; > return; > } > + if (unlikely(pmd_is_device_private_entry(*pmd))) > + return; The changelog lead me to believe that this is skipped via !pmd_present()? Do we need to skip just device private entries Shouldn't we set qp->nr_failed++ similar to what we do for migration entries or do we silently ignore them? > folio = pmd_folio(*pmd); > if (is_huge_zero_folio(folio)) { > walk->action = ACTION_CONTINUE; > Thanks, Balbir