[PATCH] KVM: arm64: Reload PTE after invoking walker callback on preorder traversal
Marc Zyngier
maz at kernel.org
Mon May 22 03:58:05 PDT 2023
On Mon, 22 May 2023 11:48:38 +0100,
Marc Zyngier <maz at kernel.org> wrote:
>
> > diff --git a/arch/arm64/kvm/hyp/pgtable.c b/arch/arm64/kvm/hyp/pgtable.c
> > index 3d61bd3e591d..120c49d52ca0 100644
> > --- a/arch/arm64/kvm/hyp/pgtable.c
> > +++ b/arch/arm64/kvm/hyp/pgtable.c
> > @@ -207,14 +207,26 @@ static inline int __kvm_pgtable_visit(struct kvm_pgtable_walk_data *data,
> > .flags = flags,
> > };
> > int ret = 0;
> > + bool reload = false;
> > kvm_pteref_t childp;
> > bool table = kvm_pte_table(ctx.old, level);
> >
> > - if (table && (ctx.flags & KVM_PGTABLE_WALK_TABLE_PRE))
> > + if (table && (ctx.flags & KVM_PGTABLE_WALK_TABLE_PRE)) {
> > ret = kvm_pgtable_visitor_cb(data, &ctx, KVM_PGTABLE_WALK_TABLE_PRE);
> > + reload = true;
> > + }
> >
> > if (!table && (ctx.flags & KVM_PGTABLE_WALK_LEAF)) {
> > ret = kvm_pgtable_visitor_cb(data, &ctx, KVM_PGTABLE_WALK_LEAF);
> > + reload = true;
> > + }
>
> From these two clauses, it is clear that reload is always the value of
> (ctx.flags & KVM_PGTABLE_WALK_LEAF). That'd simplify the patch a bit.
OK, it should be obvious by now that I cannot read, because TABLE_PRE and
LEAF are very different things.
Sorry about the noise. I'll fix the trailer thing and stay quiet for
the rest of the day...
M.
--
Without deviation from the norm, progress is not possible.
More information about the linux-arm-kernel
mailing list