Commit 4ccbe91d authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'for-linus-5.19-rc1b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip

Pull more xen updates from Juergen Gross:
 "Two cleanup patches for Xen related code and (more important) an
  update of MAINTAINERS for Xen, as Boris Ostrovsky decided to step
  down"

* tag 'for-linus-5.19-rc1b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
  xen: replace xen_remap() with memremap()
  MAINTAINERS: Update Xen maintainership
  xen: switch gnttab_end_foreign_access() to take a struct page pointer
parents 45b2e5ad 41925b10
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -21744,23 +21744,29 @@ F: arch/arm64/include/asm/xen/
F:	arch/arm64/xen/
XEN HYPERVISOR INTERFACE
M:	Boris Ostrovsky <boris.ostrovsky@oracle.com>
M:	Juergen Gross <jgross@suse.com>
R:	Stefano Stabellini <sstabellini@kernel.org>
M:	Stefano Stabellini <sstabellini@kernel.org>
R:	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
L:	xen-devel@lists.xenproject.org (moderated for non-subscribers)
S:	Supported
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git
F:	Documentation/ABI/stable/sysfs-hypervisor-xen
F:	Documentation/ABI/testing/sysfs-hypervisor-xen
F:	arch/x86/include/asm/pvclock-abi.h
F:	arch/x86/include/asm/xen/
F:	arch/x86/platform/pvh/
F:	arch/x86/xen/
F:	drivers/*/xen-*front.c
F:	drivers/xen/
F:	include/uapi/xen/
F:	include/xen/
XEN HYPERVISOR X86
M:	Juergen Gross <jgross@suse.com>
R:	Boris Ostrovsky <boris.ostrovsky@oracle.com>
L:	xen-devel@lists.xenproject.org (moderated for non-subscribers)
S:	Supported
F:	arch/x86/include/asm/pvclock-abi.h
F:	arch/x86/include/asm/xen/
F:	arch/x86/platform/pvh/
F:	arch/x86/xen/
XEN NETWORK BACKEND DRIVER
M:	Wei Liu <wei.liu@kernel.org>
M:	Paul Durrant <paul@xen.org>
+0 −3
Original line number Diff line number Diff line
@@ -347,9 +347,6 @@ unsigned long arbitrary_virt_to_mfn(void *vaddr);
void make_lowmem_page_readonly(void *vaddr);
void make_lowmem_page_readwrite(void *vaddr);

#define xen_remap(cookie, size) ioremap((cookie), (size))
#define xen_unmap(cookie) iounmap((cookie))

static inline bool xen_arch_need_swiotlb(struct device *dev,
					 phys_addr_t phys,
					 dma_addr_t dev_addr)
+3 −3
Original line number Diff line number Diff line
@@ -1221,7 +1221,7 @@ static void blkif_free_ring(struct blkfront_ring_info *rinfo)
			list_del(&persistent_gnt->node);
			if (persistent_gnt->gref != INVALID_GRANT_REF) {
				gnttab_end_foreign_access(persistent_gnt->gref,
							  0UL);
							  NULL);
				rinfo->persistent_gnts_c--;
			}
			if (info->feature_persistent)
@@ -1244,7 +1244,7 @@ static void blkif_free_ring(struct blkfront_ring_info *rinfo)
		       rinfo->shadow[i].req.u.rw.nr_segments;
		for (j = 0; j < segs; j++) {
			persistent_gnt = rinfo->shadow[i].grants_used[j];
			gnttab_end_foreign_access(persistent_gnt->gref, 0UL);
			gnttab_end_foreign_access(persistent_gnt->gref, NULL);
			if (info->feature_persistent)
				__free_page(persistent_gnt->page);
			kfree(persistent_gnt);
@@ -1259,7 +1259,7 @@ static void blkif_free_ring(struct blkfront_ring_info *rinfo)

		for (j = 0; j < INDIRECT_GREFS(segs); j++) {
			persistent_gnt = rinfo->shadow[i].indirect_grants[j];
			gnttab_end_foreign_access(persistent_gnt->gref, 0UL);
			gnttab_end_foreign_access(persistent_gnt->gref, NULL);
			__free_page(persistent_gnt->page);
			kfree(persistent_gnt);
		}
+2 −2
Original line number Diff line number Diff line
@@ -481,7 +481,7 @@ static int xenkbd_connect_backend(struct xenbus_device *dev,
 error_evtchan:
	xenbus_free_evtchn(dev, evtchn);
 error_grant:
	gnttab_end_foreign_access(info->gref, 0UL);
	gnttab_end_foreign_access(info->gref, NULL);
	info->gref = -1;
	return ret;
}
@@ -492,7 +492,7 @@ static void xenkbd_disconnect_backend(struct xenkbd_info *info)
		unbind_from_irqhandler(info->irq, info);
	info->irq = -1;
	if (info->gref >= 0)
		gnttab_end_foreign_access(info->gref, 0UL);
		gnttab_end_foreign_access(info->gref, NULL);
	info->gref = -1;
}

+3 −4
Original line number Diff line number Diff line
@@ -1386,7 +1386,7 @@ static void xennet_release_tx_bufs(struct netfront_queue *queue)
		queue->tx_skbs[i] = NULL;
		get_page(queue->grant_tx_page[i]);
		gnttab_end_foreign_access(queue->grant_tx_ref[i],
					  (unsigned long)page_address(queue->grant_tx_page[i]));
					  queue->grant_tx_page[i]);
		queue->grant_tx_page[i] = NULL;
		queue->grant_tx_ref[i] = INVALID_GRANT_REF;
		add_id_to_list(&queue->tx_skb_freelist, queue->tx_link, i);
@@ -1418,8 +1418,7 @@ static void xennet_release_rx_bufs(struct netfront_queue *queue)
		 * foreign access is ended (which may be deferred).
		 */
		get_page(page);
		gnttab_end_foreign_access(ref,
					  (unsigned long)page_address(page));
		gnttab_end_foreign_access(ref, page);
		queue->grant_rx_ref[id] = INVALID_GRANT_REF;

		kfree_skb(skb);
@@ -1760,7 +1759,7 @@ static void xennet_end_access(int ref, void *page)
{
	/* This frees the page as a side-effect */
	if (ref != INVALID_GRANT_REF)
		gnttab_end_foreign_access(ref, (unsigned long)page);
		gnttab_end_foreign_access(ref, virt_to_page(page));
}

static void xennet_disconnect_backend(struct netfront_info *info)
Loading