[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH V4 4/4] x86/mm: Make use of the default access param from xc_altp2m_create_view
On 18.12.2019 12:45, Jan Beulich wrote: > On 17.12.2019 16:12, Alexandru Stefan ISAILA wrote: >> --- a/xen/arch/x86/mm/mem_access.c >> +++ b/xen/arch/x86/mm/mem_access.c >> @@ -314,9 +314,9 @@ static int set_mem_access(struct domain *d, struct >> p2m_domain *p2m, >> return rc; >> } >> >> -static bool xenmem_access_to_p2m_access(struct p2m_domain *p2m, >> - xenmem_access_t xaccess, >> - p2m_access_t *paccess) >> +bool xenmem_access_to_p2m_access(struct p2m_domain *p2m, >> + xenmem_access_t xaccess, >> + p2m_access_t *paccess) > > Would you mind taking the opportunity and add const to the first > parameter? Sure, given that there will be a new version, it will add it. > >> @@ -2601,7 +2610,15 @@ int p2m_init_next_altp2m(struct domain *d, uint16_t >> *idx) >> if ( d->arch.altp2m_eptp[i] != mfn_x(INVALID_MFN) ) >> continue; >> >> - rc = p2m_activate_altp2m(d, i); >> + p2m = d->arch.altp2m_p2m[i]; >> + >> + if ( !xenmem_access_to_p2m_access(p2m, hvmmem_default_access, &a) ) >> + { >> + altp2m_list_unlock(d); >> + return -EINVAL; >> + } > > Can this be pulled out of the locked region, ahead of the loop? > The p2m getting passed in here (which is why it's in the loop) > shouldn't have been in use yet, i.e. its ->default_access should > have a known value. Hence this case could be taken care of > independently, e.g. by adjusting xenmem_access_to_p2m_access() > to cope with a NULL p2m coming in (producing whatever the default > of the default is). > Yes this sounds good. In xenmem_access_to_p2m_access() there can be a check like: if ( !p2m ) *paccess = p2m_access_rwx; else *paccess = p2m->default_access; But before I change this maybe Tamas or George have something to add? And can this stay in the same patch or should it have a prereq one? Alex _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |