[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xen/altp2m: set access_required properly for all altp2ms
>>> On 11.06.18 at 17:12, <rcojocaru@xxxxxxxxxxxxxxx> wrote: > --- a/xen/arch/x86/domain.c > +++ b/xen/arch/x86/domain.c > @@ -38,6 +38,7 @@ > #include <xen/livepatch.h> > #include <public/sysctl.h> > #include <public/hvm/hvm_vcpu.h> > +#include <asm/altp2m.h> Not the least to avoid this I think ... > @@ -719,6 +720,22 @@ int arch_domain_soft_reset(struct domain *d) > return ret; > } > > +void arch_domain_set_access_required(struct domain *d, bool access_required) ... this belongs somewhere in x86/mm/. > +{ > + unsigned int i; > + > + if ( !altp2m_active(d) ) > + return; Hard tab. > + for ( i = 0; i < MAX_ALTP2M; i++ ) > + { > + if ( d->arch.altp2m_eptp[i] == mfn_x(INVALID_MFN) ) > + continue; Yet another EPT-specific check outside of EPT code. Why can't you check the pointer you use ... > + d->arch.altp2m_p2m[i]->access_required = access_required; ... here against NULL, and otherwise do the store irrespective of the value of d->arch.altp2m_eptp[i]? > @@ -210,7 +211,7 @@ static int p2m_init_altp2m(struct domain *d) > return -ENOMEM; > } > p2m->p2m_class = p2m_alternate; > - p2m->access_required = 1; > + p2m->access_required = hostp2m->access_required; There must have been a reason to have it start out as 1. You mention the fact in the description, but not why it is okay (or even necessary) to change it. > --- a/xen/common/domctl.c > +++ b/xen/common/domctl.c > @@ -1094,6 +1094,8 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) > u_domctl) > domain_pause(d); > p2m_get_hostp2m(d)->access_required = > op->u.access_required.access_required; > + arch_domain_set_access_required(d, > + op->u.access_required.access_required); Perhaps the setting of the host p2m field should move into that function as well? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |