Re: linux-next: KVM/s390x regression

David Hildenbrand
2025-10-20T08:41:35Z

On 20.10.25 09:00, Christian Borntraeger wrote:
> Am 17.10.25 um 23:56 schrieb Balbir Singh:
>
>> In the meanwhile, does this fix/workaround work?
>>
>> diff --git a/mm/pgtable-generic.c b/mm/pgtable-generic.c
>> index 0c847cdf4fd3..31c1754d5bd4 100644
>> --- a/mm/pgtable-generic.c
>> +++ b/mm/pgtable-generic.c
>> @@ -290,7 +290,7 @@ pte_t *___pte_offset_map(pmd_t *pmd, unsigned long addr, pmd_t *pmdvalp)
>>
>> if (pmdvalp)
>> *pmdvalp = pmdval;
>> - if (unlikely(pmd_none(pmdval) || !pmd_present(pmdval)))
>> + if (unlikely(pmd_none(pmdval) || is_pmd_non_present_folio_entry(pmdval)))
>> goto nomap;
>> if (unlikely(pmd_trans_huge(pmdval)))
>> goto nomap;
>>
>
> Yes, this seems to work.

Right, but that's not what we will want here. We'll have to adjust s390x
gmap code (which is getting redesigned either way) to only take the page
lock.

In the end, we'll want here later a single

if (!pmd_present(pmdval))
goto nomap;

--
Cheers

David / dhildenb