Re: [PATCH v2 1/1] KVM: s390: pv: fix race when making a page secure

From: Claudio Imbrenda
Date: Wed Feb 26 2025 - 12:26:30 EST


On Wed, 26 Feb 2025 18:01:04 +0100
David Hildenbrand <david@xxxxxxxxxx> wrote:

> On 26.02.25 17:58, Claudio Imbrenda wrote:
> > On Wed, 26 Feb 2025 16:05:11 +0100
> > David Hildenbrand <david@xxxxxxxxxx> wrote:
> >
> >>> +int make_hva_secure(struct mm_struct *mm, unsigned long hva, struct uv_cb_header *uvcb)
> >>> +{
> >>> + struct folio *folio;
> >>> + spinlock_t *ptelock;
> >>> + pte_t *ptep;
> >>> + int rc;
> >>> +
> >>> + ptep = get_locked_valid_pte(mm, hva, &ptelock);
> >>> + if (!ptep)
> >>> + return -ENXIO;
> >>
> >> You very likely need a pte_write() check we had there before, as you
> >> might effectively modify page content by clearing the page.
> >
> > it's not really needed, but it doesn't hurt either, I'll add a check
>
> Can you elaborate why it is not needed? Would the HW enforce that
> writability check already?

as I have discovered the hard way while working on this v2, yes

but as I said, it looks better with the check, so I'll add it