aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/xen/p2m.c5
-rw-r--r--drivers/net/xen-netback/netback.c6
2 files changed, 3 insertions, 8 deletions
diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c
index c9bc53f64359..a8691cb08420 100644
--- a/arch/x86/xen/p2m.c
+++ b/arch/x86/xen/p2m.c
@@ -682,9 +682,10 @@ int set_foreign_p2m_mapping(struct gnttab_map_grant_ref *map_ops,
682 pfn = page_to_pfn(pages[i]); 682 pfn = page_to_pfn(pages[i]);
683 683
684 WARN_ON(PagePrivate(pages[i])); 684 WARN_ON(PagePrivate(pages[i]));
685 WARN(pfn_to_mfn(pfn) != INVALID_P2M_ENTRY, "page must be ballooned");
686
685 SetPagePrivate(pages[i]); 687 SetPagePrivate(pages[i]);
686 set_page_private(pages[i], mfn); 688 set_page_private(pages[i], mfn);
687 pages[i]->index = pfn_to_mfn(pfn);
688 689
689 if (unlikely(!set_phys_to_machine(pfn, FOREIGN_FRAME(mfn)))) { 690 if (unlikely(!set_phys_to_machine(pfn, FOREIGN_FRAME(mfn)))) {
690 ret = -ENOMEM; 691 ret = -ENOMEM;
@@ -718,7 +719,7 @@ int clear_foreign_p2m_mapping(struct gnttab_unmap_grant_ref *unmap_ops,
718 set_page_private(pages[i], INVALID_P2M_ENTRY); 719 set_page_private(pages[i], INVALID_P2M_ENTRY);
719 WARN_ON(!PagePrivate(pages[i])); 720 WARN_ON(!PagePrivate(pages[i]));
720 ClearPagePrivate(pages[i]); 721 ClearPagePrivate(pages[i]);
721 set_phys_to_machine(pfn, pages[i]->index); 722 set_phys_to_machine(pfn, INVALID_P2M_ENTRY);
722 } 723 }
723 if (kunmap_ops) 724 if (kunmap_ops)
724 ret = HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, 725 ret = HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref,
diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
index 908e65e9b821..64413189ad06 100644
--- a/drivers/net/xen-netback/netback.c
+++ b/drivers/net/xen-netback/netback.c
@@ -1241,12 +1241,6 @@ static void xenvif_fill_frags(struct xenvif_queue *queue, struct sk_buff *skb)
1241 /* Take an extra reference to offset network stack's put_page */ 1241 /* Take an extra reference to offset network stack's put_page */
1242 get_page(queue->mmap_pages[pending_idx]); 1242 get_page(queue->mmap_pages[pending_idx]);
1243 } 1243 }
1244 /* FIXME: __skb_fill_page_desc set this to true because page->pfmemalloc
1245 * overlaps with "index", and "mapping" is not set. I think mapping
1246 * should be set. If delivered to local stack, it would drop this
1247 * skb in sk_filter unless the socket has the right to use it.
1248 */
1249 skb->pfmemalloc = false;
1250} 1244}
1251 1245
1252static int xenvif_get_extras(struct xenvif_queue *queue, 1246static int xenvif_get_extras(struct xenvif_queue *queue,