Re: [PATCH RFC 1/2] s390x: mm: allow mixed page table types (2k and 4k)

From: Christian Borntraeger
Date: Thu Jun 01 2017 - 07:39:59 EST


On 05/29/2017 06:32 PM, David Hildenbrand wrote:

> new = old = pgste_get_lock(ptep);
> pgste_val(new) &= ~(PGSTE_GR_BIT | PGSTE_GC_BIT |
> @@ -748,6 +764,11 @@ int reset_guest_reference_bit(struct mm_struct *mm, unsigned long addr)
> ptep = get_locked_pte(mm, addr, &ptl);
> if (unlikely(!ptep))
> return -EFAULT;
> + if (!pgtable_has_pgste(mm, __pa(ptep))) {
> + pte_unmap_unlock(ptep, ptl);
> + WARN_ONCE(true, "Guest address on page table without pgste");

All these WARN_ONCE. Is there a way how a malicious user can trigger this or is this checked
everywhere and triggered would be indeed a bug?