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?