[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2] x86/mm: Add mem access rights to NPT
On Lu, 2018-06-18 at 09:39 -0600, Tamas K Lengyel wrote: > On Mon, Jun 18, 2018 at 9:19 AM Alexandru Isaila > <aisaila@xxxxxxxxxxxxxxx> wrote: > > > > > > +static p2m_access_t p2m_get_access(struct p2m_domain *p2m, > > unsigned long gfn) > > +{ > > + void *ptr; > > + > > + ptr = radix_tree_lookup(&p2m->mem_access_settings, gfn); > > + if ( !ptr ) > > + return p2m_access_rwx; > > + else > > + return radix_tree_ptr_to_int(ptr); > > +} > > + > > +static void p2m_set_access(struct p2m_domain *p2m, unsigned long > > gfn, > > + p2m_access_t a) > > +{ > > + int rc; > > + > Shouldn't there be some locking around the radix tree operations > here? > If not, why not? The lock is in the p2m_set_mem_access() so that one entry is set at a time. The radix tree operations are similar to the ones on ARM but if we missed something I will appreciate the help in correcting the issue. Thanks, Alex > > > > > + if ( p2m_access_rwx == a ) > > + radix_tree_delete(&p2m->mem_access_settings, gfn); > > + > > + rc = radix_tree_insert(&p2m->mem_access_settings, gfn, > > + radix_tree_int_to_ptr(a)); > > + if ( rc == -EEXIST ) > > + /* If a setting already exists, change it to the new one > > */ > > + radix_tree_replace_slot( > > + radix_tree_lookup_slot( > > + &p2m->mem_access_settings, gfn), > > + radix_tree_int_to_ptr(a)); > > +} > > + ________________________ This email was scanned by Bitdefender _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |