|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCHv4 04/14] xen: remove scratch frames for ballooned pages and m2p override
On Tue, 27 Jan 2015, David Vrabel wrote:
> On 27/01/15 10:57, Stefano Stabellini wrote:
> > On Mon, 26 Jan 2015, David Vrabel wrote:
> >> The scratch frame mappings for ballooned pages and the m2p override
> >> are broken. Remove them in preparation for replacing them with
> >> simpler mechanisms that works.
> >>
> >> The scratch pages did not ensure that the page was not in use. In
> >> particular, the foreign page could still be in use by hardware. If
> >> the guest reused the frame the hardware could read or write that
> >> frame.
> >>
> >> The m2p override did not handle the same frame being granted by two
> >> different grant references. Trying an M2P override lookup in this
> >> case is impossible.
> >>
> >> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx>
> >
> > [...]
> >
> >> int set_foreign_p2m_mapping(struct gnttab_map_grant_ref *map_ops,
> >> struct gnttab_map_grant_ref *kmap_ops,
> >> struct page **pages, unsigned int count)
> >> {
> >> int i, ret = 0;
> >> - bool lazy = false;
> >> pte_t *pte;
> >>
> >> if (xen_feature(XENFEAT_auto_translated_physmap))
> >> return 0;
> >>
> >> - if (kmap_ops &&
> >> - !in_interrupt() &&
> >> - paravirt_get_lazy_mode() == PARAVIRT_LAZY_NONE) {
> >> - arch_enter_lazy_mmu_mode();
> >> - lazy = true;
> >> + if (kmap_ops) {
> >> + ret = HYPERVISOR_grant_table_op(GNTTABOP_map_grant_ref,
> >> + kmap_ops, count);
> >> + if (ret)
> >> + goto out;
> >> }
> >
> > I think that you should explain why you are adding one more grant table
> > mapping to a function meant to work on the p2m/m2p. Everything else is
> > clear.
>
> I'm not. This function has always done this.
Can you be more specific please?
I cannot see a call to HYPERVISOR_grant_table_op among the lines you are
removing from this function in this patch.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |