|
[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 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.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |