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 676E8C677C4 for ; Wed, 11 Jun 2025 12:07:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 058276B0098; Wed, 11 Jun 2025 08:07:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 008E26B0099; Wed, 11 Jun 2025 08:07:09 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E61176B009A; Wed, 11 Jun 2025 08:07:09 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id C48506B0098 for ; Wed, 11 Jun 2025 08:07:09 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 6DA5AC0AC9 for ; Wed, 11 Jun 2025 12:07:09 +0000 (UTC) X-FDA: 83542994178.25.775A9B2 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf11.hostedemail.com (Postfix) with ESMTP id 3440540016 for ; Wed, 11 Jun 2025 12:07:07 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=KZXq0gS7; spf=pass (imf11.hostedemail.com: domain of dhildenb@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=dhildenb@redhat.com; dmarc=pass (policy=quarantine) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749643627; 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=+PENtkLUfBH1Z8n7k4h6Ysph6sI1iUW3ZV5Hjz4OJ3o=; b=lPzR2yJgu39B/mtaZKqHRtGhQHyEbaPEJIpO+D9yIHFJKTiuXIJgwy+5HcYc5amBPP60/w mAMDAwMhDRtEabRr08z9T92wAQMBOqsUQI4E3RCVxYk59QnoJJNaexHMMspYKYpv3mpIgj 69sZ0elPAR8SM/FCVyX618otxCvgg+0= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=KZXq0gS7; spf=pass (imf11.hostedemail.com: domain of dhildenb@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=dhildenb@redhat.com; dmarc=pass (policy=quarantine) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749643627; a=rsa-sha256; cv=none; b=lqZ1dsVY6DFvciNNcbqMywLu8kERxK7t0wvNC3VmUoK+VzAuzByyDTjdoV/aYWiIDJ0c5F XnKkTpS6sj93sUhDcchAcICeOCITQ8mZq1pLhteaUqpNb1HrIhPyrebzS759Ez0A0jInLo hs3r92cEI5y2ren9X6IkB/XzEfJ9eQU= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1749643626; h=from:from: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; bh=+PENtkLUfBH1Z8n7k4h6Ysph6sI1iUW3ZV5Hjz4OJ3o=; b=KZXq0gS7TdaUyOv3WFvBKtUDimBcKP4O0kLE2PWQUFLrrwvOtZkAFd+fY6XGgq3YjkOet5 hRJXngcDKSghVwA4HY1Zc56q6K8dKcHvg/h8a/ThD6NIlTdmLH73BKkGY7rMArixhnPitc 7DcG5X3raSEaCqE5NI2q3tqTFL3fplM= Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-14-GKVL25DlOLKvIXeps9PyNQ-1; Wed, 11 Jun 2025 08:07:05 -0400 X-MC-Unique: GKVL25DlOLKvIXeps9PyNQ-1 X-Mimecast-MFC-AGG-ID: GKVL25DlOLKvIXeps9PyNQ_1749643625 Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c53e316734so1004653085a.2 for ; Wed, 11 Jun 2025 05:07:05 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749643625; x=1750248425; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+PENtkLUfBH1Z8n7k4h6Ysph6sI1iUW3ZV5Hjz4OJ3o=; b=R3Fp1cUOjGXDXZi0OecDRUF93CtIzuEBs1kNszXv3GtXeD0xVChn3HaqLH5BsqPMXK dpwKkvjDj6AmKAByH3C9gwK3LbUQgiAbQoR0vXwpMlj3V9k1RPZ7fIozneVhA4Ve1oNf nvheVmBgNr+nFNmQW4eU2iPljDTW23+8ITxzMXh94ndJ4OE8jf2cW7UBWp952O5ZVzbQ n70bpys9QBvVpYFriRKVO8XM0WlopoQ145DNSd2edi5ppdbNZISPX8BkFl4N8Z8AsEg6 Xb9OXG9fWAViNfJpHyQ4alf0k0LJJfjfKAf7zepK0/0fqs5ikemdFcE8Mg4loh69F0aG Ww5w== X-Gm-Message-State: AOJu0YxFTA1RXJS1lkQYwkOADlJEAPOVRmOT0kfbr9g+U+vA7/apnsy6 dklS+/eMqEDZVW0A3SvRFHK9Jg6XPnt9B8cqgGdD+P3JQSPy1Yf21JshT3neeI1R29GncGVm+eO Yni3xnfxHQjU9qZBGmWvoqbqU87OwhoOHn9pRtKqHre8IybFviCSI X-Gm-Gg: ASbGncvT0NQ4tc8m4lvIbU2df/PpGIqQUKHvRLN7VAjONGPjApZkBf1bKH/7kxwOeDK PQwrRufwC1PX/AZWm815HoFXRiDo0UdVakqH/2aHHI7EvzUaDScmOXJQtygLQedyY/Xp4MX1SXh 2E0tigrvVO6xfKzSEFquV8Etujhk5x7L4ADDKmkx7jnQYba5CDgz7YiVwIds4/Q4v9CUoij/Q8Z wuBq/fSkRRjkAJUSc4DH19lnD8IJ9/e914a19lAfWCEiOG2ihyx8w9ZGMeqGz9d1BS7CkCX3jPN qY0zVrXXPuo8hZdFo/gKyGmTx88caLJtFupgtOTwPg== X-Received: by 2002:a05:620a:3194:b0:7d0:9ffd:422f with SMTP id af79cd13be357-7d3a89b1b3bmr505262085a.54.1749643625069; Wed, 11 Jun 2025 05:07:05 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGJLjpZ1uY3+YpiReTBDNjkNaFYo7+UKPSqXzU9BVywxK8ty0bHeAi1vwl8x6v5Oh4c1OLQSA== X-Received: by 2002:a05:620a:3194:b0:7d0:9ffd:422f with SMTP id af79cd13be357-7d3a89b1b3bmr505257485a.54.1749643624636; Wed, 11 Jun 2025 05:07:04 -0700 (PDT) Received: from localhost (nat-pool-muc-t.redhat.com. [149.14.88.26]) by smtp.gmail.com with UTF8SMTPSA id af79cd13be357-7d25a60c183sm847676485a.58.2025.06.11.05.07.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 11 Jun 2025 05:07:04 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: linux-mm@kvack.org, nvdimm@lists.linux.dev, linux-cxl@vger.kernel.org, David Hildenbrand , Andrew Morton , Alistair Popple , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Zi Yan , Baolin Wang , Nico Pache , Ryan Roberts , Dev Jain , Dan Williams , Oscar Salvador , stable@vger.kernel.org Subject: [PATCH v2 1/3] mm/huge_memory: don't ignore queried cachemode in vmf_insert_pfn_pud() Date: Wed, 11 Jun 2025 14:06:52 +0200 Message-ID: <20250611120654.545963-2-david@redhat.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250611120654.545963-1-david@redhat.com> References: <20250611120654.545963-1-david@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: Bf7ZCVDGCaPten_XPHkgYBErZyqfAIbgntstNwyvgmQ_1749643625 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit content-type: text/plain; charset="US-ASCII"; x-default=true X-Rspamd-Queue-Id: 3440540016 X-Rspamd-Server: rspam07 X-Stat-Signature: cxqzk4spxsi5rb99fumdtbqnzq9zst5z X-Rspam-User: X-HE-Tag: 1749643627-196444 X-HE-Meta: U2FsdGVkX18u4MZMqw6ISP8UsE7a/lxj2YojHPAontES4ThOuxISwTVWpwOFnBUzpCC90a147OGMEGS45Km3TnpqryOvViN3WHqScEpz1xiHHkF2/utj/H+htj8QSLey26F89leEVOpMIwwo08rRe+AoRAQ0F1peoBjNdD2RVbWFSnkBmxGW35ao6vTR60UakYXkb7cOJC09ex0QMaCq8vFkXJebMr2G08yeqlbSKGRX2aGz0vsBiV9jEuAsw4KROD2KaFtC2xXiRSYIuHoUauibvpR7Aj0nM0TIN0eDD4Lc9x1qgZkQXWPdptB7Kl0WO2Lh4nJbplbZ3n1TQD83HGmjM+aC4X40rbM7Rtrrhhb2xwIISb61r+2EC1GaOhMx82yUYDkBz45pJHUiph+LZOrRNuq/rLOpAGLAwWomA3vIAvoLN3M2W4d3lGRXNU0nQ0CdomU2D8KumkQ2BXLzsTNs0Xm9mZ3paAPBzQRQq4NyGxaugYDHpmjczW76K0CsNG0lBTZychCbnxHjMJJg0agIP6aAwpjJSB1iuCMfTlckls0YOLLegZnwfblqJAzxGOFRNBjiBF53sjKOo1hyDsY7CfMl4Qt+6COz8ZRRyKJwEdvr6AtzDWqNX1u968AB0o2t1GcLBgJIrUKAvwo6P6YyuZvVqKj89UEH3/NXBP24rpgKpIGFFg4lhCZ1DRzWrUFkq9vGzAKrGw3qNl26DbCGsaDNnCTZRK+cF0VCK92NYpeEb9XL+pc4k+b+i8ofEHvWDxsCTv+g02Dycfe6RZkRP6rQPMGTVuzU7Cmnk4Vli1qLQgAEWxZSC0lhl3E+SlCDTkTn6UwENzz5wKrhztjK8ZKYYHOqE8DLNiEPX8JuLyMY0Dw6/WAlN1DoFpKk8yl9Cx2kkzD1sYQsDsIzcjgohpGpmqiWOTVL9v3SaVcIkWMSRRHlNRNW0TSWX/MgflDFnLf07s0iiVQJGgV 9ETXjw1R DVmtdEVjzDOV6FGr6jtVL7UEgDGGao9yehTMC+T98IKhzfNTY9P5duVziM2OTSe5d1RmbF/yO/da9UJgWPfSSTCsShuCoPLXCuXuAEK475M5/tDXUZvCFgqVkqLjdXKVL4jYmpiOSjsgE0QGQvRCRC/TVFUEgqStpNVGJM7NaVpaiFVmLY3eziluf6SLPIXxDiwWUkvsWXSEh4/E9OaGxVc7ca1/s0CndiOq1auvagJ3sT/0LjrDj7YM6RWxmDXeDLoHnwUJdhbnFvCiTHOuNXVEJ8XVS1ts1It+Zh1KCt22pyOEBgV6MTp28DMDpsxUonls0P5f8Ry5jzZIMCUMnMkYppHCAUmEYJfK1qyUJzgvni/XxUXCq+5tt5oz9+XxQ1U708grTJN6aOJvVi7KHPHSvTo+HSY6CvSKnE9nnW83nMMRJBRFHFJELK61wSBycsndUNyhRmG8OnwheMKUP/6QYEZlFsbnBcc+2NavNmQomOPu7mi+9q9IXUDCcx1DxyaZiLq93PXJ99GoYbasuV2JwuG8uzY5BbylWbTCnkam49213lwo8me9dk2VT8jlGjUvBmmvO9iHvbZU= 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: We setup the cache mode but ... don't forward the updated pgprot to insert_pfn_pud(). Only a problem on x86-64 PAT when mapping PFNs using PUDs that require a special cachemode. Fix it by using the proper pgprot where the cachemode was setup. Identified by code inspection. Fixes: 7b806d229ef1 ("mm: remove vmf_insert_pfn_xxx_prot() for huge page-table entries") Cc: Signed-off-by: David Hildenbrand --- mm/huge_memory.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/mm/huge_memory.c b/mm/huge_memory.c index d3e66136e41a3..49b98082c5401 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -1516,10 +1516,9 @@ static pud_t maybe_pud_mkwrite(pud_t pud, struct vm_area_struct *vma) } static void insert_pfn_pud(struct vm_area_struct *vma, unsigned long addr, - pud_t *pud, pfn_t pfn, bool write) + pud_t *pud, pfn_t pfn, pgprot_t prot, bool write) { struct mm_struct *mm = vma->vm_mm; - pgprot_t prot = vma->vm_page_prot; pud_t entry; if (!pud_none(*pud)) { @@ -1581,7 +1580,7 @@ vm_fault_t vmf_insert_pfn_pud(struct vm_fault *vmf, pfn_t pfn, bool write) pfnmap_setup_cachemode_pfn(pfn_t_to_pfn(pfn), &pgprot); ptl = pud_lock(vma->vm_mm, vmf->pud); - insert_pfn_pud(vma, addr, vmf->pud, pfn, write); + insert_pfn_pud(vma, addr, vmf->pud, pfn, pgprot, write); spin_unlock(ptl); return VM_FAULT_NOPAGE; @@ -1625,7 +1624,7 @@ vm_fault_t vmf_insert_folio_pud(struct vm_fault *vmf, struct folio *folio, add_mm_counter(mm, mm_counter_file(folio), HPAGE_PUD_NR); } insert_pfn_pud(vma, addr, vmf->pud, pfn_to_pfn_t(folio_pfn(folio)), - write); + vma->vm_page_prot, write); spin_unlock(ptl); return VM_FAULT_NOPAGE; -- 2.49.0