public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Claudio Imbrenda <imbrenda@linux.ibm.com>
To: akpm@linux-foundation.org
Cc: balbirs@nvidia.com, borntraeger@de.ibm.com, david@redhat.com,
	Liam.Howlett@oracle.com, airlied@gmail.com, apopple@nvidia.com,
	baohua@kernel.org, baolin.wang@linux.alibaba.com,
	byungchul@sk.com, dakr@kernel.org, dev.jain@arm.com,
	dri-devel@lists.freedesktop.org, francois.dugast@intel.com,
	gourry@gourry.net, joshua.hahnjy@gmail.com,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	lorenzo.stoakes@oracle.com, lyude@redhat.com,
	matthew.brost@intel.com, mpenttil@redhat.com, npache@redhat.com,
	osalvador@suse.de, rakie.kim@sk.com, rcampbell@nvidia.com,
	ryan.roberts@arm.com, simona@ffwll.ch,
	ying.huang@linux.alibaba.com, ziy@nvidia.com,
	kvm@vger.kernel.org, linux-s390@vger.kernel.org,
	linux-next@vger.kernel.org, hca@linux.ibm.com, gor@linux.ibm.com,
	agordeev@linux.ibm.com
Subject: [PATCH v1 1/1] KVM: s390: Fix missing present bit for gmap puds
Date: Tue, 28 Oct 2025 14:01:50 +0100	[thread overview]
Message-ID: <20251028130150.57379-2-imbrenda@linux.ibm.com> (raw)
In-Reply-To: <20251028130150.57379-1-imbrenda@linux.ibm.com>

For hugetlbs, gmap puds have the present bit set. For normal puds
(which point to ptes), the bit is not set. This is in contrast to the
normal userspace puds, which always have the bit set for present pmds.

This causes issues when ___pte_offset_map() is modified to only check
for the present bit.

The solution to the problem is simply to always set the present bit for
present gmap pmds.

Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Link: https://lore.kernel.org/lkml/20251017144924.10034-1-borntraeger@linux.ibm.com/
Tested-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@linux.ibm.com>
---
 arch/s390/mm/gmap.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/s390/mm/gmap.c b/arch/s390/mm/gmap.c
index 8ff6bba107e8..22c448b32340 100644
--- a/arch/s390/mm/gmap.c
+++ b/arch/s390/mm/gmap.c
@@ -599,8 +599,9 @@ int __gmap_link(struct gmap *gmap, unsigned long gaddr, unsigned long vmaddr)
 					| _SEGMENT_ENTRY_GMAP_UC
 					| _SEGMENT_ENTRY;
 			} else
-				*table = pmd_val(*pmd) &
-					_SEGMENT_ENTRY_HARDWARE_BITS;
+				*table = (pmd_val(*pmd) &
+					_SEGMENT_ENTRY_HARDWARE_BITS)
+					| _SEGMENT_ENTRY;
 		}
 	} else if (*table & _SEGMENT_ENTRY_PROTECT &&
 		   !(pmd_val(*pmd) & _SEGMENT_ENTRY_PROTECT)) {
-- 
2.51.0


  reply	other threads:[~2025-10-28 13:03 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20251001065707.920170-4-balbirs@nvidia.com>
2025-10-17 14:49 ` linux-next: KVM/s390x regression (was: [v7 03/16] mm/huge_memory: add device-private THP support to PMD operations) Christian Borntraeger
2025-10-17 14:54   ` linux-next: KVM/s390x regression David Hildenbrand
2025-10-17 15:01     ` Christian Borntraeger
2025-10-17 15:07       ` David Hildenbrand
2025-10-17 15:20         ` Christian Borntraeger
2025-10-17 17:07           ` David Hildenbrand
2025-10-17 21:56             ` Balbir Singh
2025-10-17 22:15               ` David Hildenbrand
2025-10-17 22:41                 ` David Hildenbrand
2025-10-20  7:01                   ` Christian Borntraeger
2025-10-20  7:00               ` Christian Borntraeger
2025-10-20  8:41                 ` David Hildenbrand
2025-10-20  9:04                   ` Claudio Imbrenda
2025-10-27 16:47                   ` Claudio Imbrenda
2025-10-27 16:59                     ` David Hildenbrand
2025-10-27 17:06                     ` Christian Borntraeger
2025-10-28  9:24                       ` Balbir Singh
2025-10-28 13:01                       ` [PATCH v1 0/1] KVM: s390: Fix missing present bit for gmap puds Claudio Imbrenda
2025-10-28 13:01                         ` Claudio Imbrenda [this message]
2025-10-28 21:23                           ` [PATCH v1 1/1] " Balbir Singh
2025-10-29 10:00                           ` David Hildenbrand
2025-10-29 10:20                             ` Claudio Imbrenda
2025-10-28 22:53                         ` [PATCH v1 0/1] " Andrew Morton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20251028130150.57379-2-imbrenda@linux.ibm.com \
    --to=imbrenda@linux.ibm.com \
    --cc=Liam.Howlett@oracle.com \
    --cc=agordeev@linux.ibm.com \
    --cc=airlied@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=apopple@nvidia.com \
    --cc=balbirs@nvidia.com \
    --cc=baohua@kernel.org \
    --cc=baolin.wang@linux.alibaba.com \
    --cc=borntraeger@de.ibm.com \
    --cc=byungchul@sk.com \
    --cc=dakr@kernel.org \
    --cc=david@redhat.com \
    --cc=dev.jain@arm.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=francois.dugast@intel.com \
    --cc=gor@linux.ibm.com \
    --cc=gourry@gourry.net \
    --cc=hca@linux.ibm.com \
    --cc=joshua.hahnjy@gmail.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-next@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=lorenzo.stoakes@oracle.com \
    --cc=lyude@redhat.com \
    --cc=matthew.brost@intel.com \
    --cc=mpenttil@redhat.com \
    --cc=npache@redhat.com \
    --cc=osalvador@suse.de \
    --cc=rakie.kim@sk.com \
    --cc=rcampbell@nvidia.com \
    --cc=ryan.roberts@arm.com \
    --cc=simona@ffwll.ch \
    --cc=ying.huang@linux.alibaba.com \
    --cc=ziy@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox