[PATCH 11/20] KVM: arm64: Add a range to pKVM ownership selftest
Vincent Donnefort
vdonnefort at google.com
Thu Sep 10 03:04:03 PDT 2026
On Tue, Sep 08, 2026 at 11:25:36AM +0100, Vincent Donnefort wrote:
> On Mon, Sep 07, 2026 at 03:58:13PM +0100, Wei-Lin Chang wrote:
> > On Mon, Aug 03, 2026 at 11:08:55AM +0100, Vincent Donnefort wrote:
> >
> > [...]
> >
> > > void __init pkvm_ownership_selftest(void)
> > > {
> > > unsigned long pgtable_order = 5;
> > > unsigned long pgtable = 0;
> > > - unsigned long page = 0;
> > > - long ret = -ENOMEM;
> > >
> > > /* Memory for the VM page-table */
> > > pgtable = __get_free_pages(GFP_KERNEL, pgtable_order);
> > > if (!pgtable)
> > > - goto out;
> > > + return;
> >
> > nit: previously this allocation failure will print a message, but not
> > after the change. Is this the intention?
> >
> > Thanks,
> > Wei-Lin Chang
>
> Nah, that's a good point, it should print something.
>
> --
> Vincent
Ha I remember now... GFP_KERNEL doesn't have __GFP_NOWARN. So if it fails,
warn_alloc() will already print an error.
--
Vincent
>
> >
> > >
> > > - /* Page whose ownership will be tested */
> > > - page = __get_free_page(GFP_KERNEL);
> > > - if (!page)
> > > - goto out;
> > > -
> > > - ret = kvm_call_hyp_nvhe(__pkvm_ownership_selftest, virt_to_pfn((void *)page),
> > > - virt_to_pfn((void *)pgtable), 1 << pgtable_order);
> > > -out:
> > > - if (ret)
> > > - kvm_err("Failed to run %s (%ld)\n", __func__, ret);
> > > + __pkvm_ownership_selftest(0, pgtable, pgtable_order);
> > > + __pkvm_ownership_selftest(PMD_ORDER, pgtable, pgtable_order);
> > >
> > > free_pages(pgtable, pgtable_order);
> > > - free_page(page);
> > > }
> > > #endif
> > >
> > > --
> > > 2.55.0.508.g3f0d502094-goog
> > >
More information about the linux-arm-kernel
mailing list