mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Al Viro <viro@ZenIV.linux.org.uk>
To: linux-kernel@vger.kernel.org
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Subject: [POC][PATCH 39/83] gnttab_end_foreign_access(): switch the last argument to void *
Date: Mon, 21 Dec 2015 23:47:12 +0000	[thread overview]
Message-ID: <1450741676-5865-39-git-send-email-viro@ZenIV.linux.org.uk> (raw)
In-Reply-To: <20151221234615.GW20997@ZenIV.linux.org.uk>

From: Al Viro <viro@zeniv.linux.org.uk>

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
---
 drivers/block/xen-blkfront.c      | 12 ++++++------
 drivers/char/tpm/xen-tpmfront.c   |  2 +-
 drivers/input/misc/xen-kbdfront.c |  4 ++--
 drivers/net/xen-netfront.c        |  6 +++---
 drivers/pci/xen-pcifront.c        |  2 +-
 drivers/scsi/xen-scsifront.c      |  8 +++-----
 drivers/xen/grant-table.c         |  6 +++---
 include/xen/grant_table.h         |  3 +--
 8 files changed, 20 insertions(+), 23 deletions(-)

diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index 19b8697..c5873c2 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -1094,7 +1094,7 @@ static void blkif_free(struct blkfront_info *info, int suspend)
 			list_del(&persistent_gnt->node);
 			if (persistent_gnt->gref != GRANT_INVALID_REF) {
 				gnttab_end_foreign_access(persistent_gnt->gref,
-				                          0, 0UL);
+				                          0, NULL);
 				info->persistent_gnts_c--;
 			}
 			if (info->feature_persistent)
@@ -1131,7 +1131,7 @@ static void blkif_free(struct blkfront_info *info, int suspend)
 		       info->shadow[i].req.u.rw.nr_segments;
 		for (j = 0; j < segs; j++) {
 			persistent_gnt = info->shadow[i].grants_used[j];
-			gnttab_end_foreign_access(persistent_gnt->gref, 0, 0UL);
+			gnttab_end_foreign_access(persistent_gnt->gref, 0, NULL);
 			if (info->feature_persistent)
 				__free_page(persistent_gnt->page);
 			kfree(persistent_gnt);
@@ -1146,7 +1146,7 @@ static void blkif_free(struct blkfront_info *info, int suspend)
 
 		for (j = 0; j < INDIRECT_GREFS(segs); j++) {
 			persistent_gnt = info->shadow[i].indirect_grants[j];
-			gnttab_end_foreign_access(persistent_gnt->gref, 0, 0UL);
+			gnttab_end_foreign_access(persistent_gnt->gref, 0, NULL);
 			__free_page(persistent_gnt->page);
 			kfree(persistent_gnt);
 		}
@@ -1170,7 +1170,7 @@ free_shadow:
 	/* Free resources associated with old device channel. */
 	for (i = 0; i < info->nr_ring_pages; i++) {
 		if (info->ring_ref[i] != GRANT_INVALID_REF) {
-			gnttab_end_foreign_access(info->ring_ref[i], 0, 0);
+			gnttab_end_foreign_access(info->ring_ref[i], 0, NULL);
 			info->ring_ref[i] = GRANT_INVALID_REF;
 		}
 	}
@@ -1261,7 +1261,7 @@ static void blkif_completion(struct blk_shadow *s, struct blkfront_info *info,
 			 * so it will not be picked again unless we run out of
 			 * persistent grants.
 			 */
-			gnttab_end_foreign_access(s->grants_used[i]->gref, 0, 0UL);
+			gnttab_end_foreign_access(s->grants_used[i]->gref, 0, NULL);
 			s->grants_used[i]->gref = GRANT_INVALID_REF;
 			list_add_tail(&s->grants_used[i]->node, &info->grants);
 		}
@@ -1277,7 +1277,7 @@ static void blkif_completion(struct blk_shadow *s, struct blkfront_info *info,
 			} else {
 				struct page *indirect_page;
 
-				gnttab_end_foreign_access(s->indirect_grants[i]->gref, 0, 0UL);
+				gnttab_end_foreign_access(s->indirect_grants[i]->gref, 0, NULL);
 				/*
 				 * Add the used indirect page back to the list of
 				 * available pages for indirect grefs.
diff --git a/drivers/char/tpm/xen-tpmfront.c b/drivers/char/tpm/xen-tpmfront.c
index 4ac4830..2ccd0c9 100644
--- a/drivers/char/tpm/xen-tpmfront.c
+++ b/drivers/char/tpm/xen-tpmfront.c
@@ -273,7 +273,7 @@ static void ring_free(struct tpm_private *priv)
 
 	if (priv->ring_ref)
 		gnttab_end_foreign_access(priv->ring_ref, 0,
-				(unsigned long)priv->shr);
+				priv->shr);
 	else
 		free_page(priv->shr);
 
diff --git a/drivers/input/misc/xen-kbdfront.c b/drivers/input/misc/xen-kbdfront.c
index d70a619..93f3a5c 100644
--- a/drivers/input/misc/xen-kbdfront.c
+++ b/drivers/input/misc/xen-kbdfront.c
@@ -291,7 +291,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, 0, 0UL);
+	gnttab_end_foreign_access(info->gref, 0, NULL);
 	info->gref = -1;
 	return ret;
 }
@@ -302,7 +302,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, 0, 0UL);
+		gnttab_end_foreign_access(info->gref, 0, NULL);
 	info->gref = -1;
 }
 
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 0f9b7cf..c36af78 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -1117,7 +1117,7 @@ static void xennet_release_tx_bufs(struct netfront_queue *queue)
 		get_page(queue->grant_tx_page[i]);
 		gnttab_end_foreign_access(queue->grant_tx_ref[i],
 					  GNTMAP_readonly,
-					  (unsigned long)page_address(queue->grant_tx_page[i]));
+					  page_address(queue->grant_tx_page[i]));
 		queue->grant_tx_page[i] = NULL;
 		queue->grant_tx_ref[i] = GRANT_INVALID_REF;
 		add_id_to_freelist(&queue->tx_skb_freelist, queue->tx_skbs, i);
@@ -1150,7 +1150,7 @@ static void xennet_release_rx_bufs(struct netfront_queue *queue)
 		 */
 		get_page(page);
 		gnttab_end_foreign_access(ref, 0,
-					  (unsigned long)page_address(page));
+					  page_address(page));
 		queue->grant_rx_ref[id] = GRANT_INVALID_REF;
 
 		kfree_skb(skb);
@@ -1378,7 +1378,7 @@ static void xennet_end_access(int ref, void *page)
 {
 	/* This frees the page as a side-effect */
 	if (ref != GRANT_INVALID_REF)
-		gnttab_end_foreign_access(ref, 0, (unsigned long)page);
+		gnttab_end_foreign_access(ref, 0, page);
 }
 
 static void xennet_disconnect_backend(struct netfront_info *info)
diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
index 85f69e5..90b77b9 100644
--- a/drivers/pci/xen-pcifront.c
+++ b/drivers/pci/xen-pcifront.c
@@ -772,7 +772,7 @@ static void free_pdev(struct pcifront_device *pdev)
 
 	if (pdev->gnt_ref != INVALID_GRANT_REF)
 		gnttab_end_foreign_access(pdev->gnt_ref, 0 /* r/w page */,
-					  (unsigned long)pdev->sh_info);
+					  pdev->sh_info);
 	else
 		free_page(pdev->sh_info);
 
diff --git a/drivers/scsi/xen-scsifront.c b/drivers/scsi/xen-scsifront.c
index d59486a..825759b 100644
--- a/drivers/scsi/xen-scsifront.c
+++ b/drivers/scsi/xen-scsifront.c
@@ -215,7 +215,7 @@ static void scsifront_gnttab_done(struct vscsifrnt_info *info, uint32_t id)
 				     "grant still in use by backend\n");
 			BUG();
 		}
-		gnttab_end_foreign_access(s->gref[i], 0, 0UL);
+		gnttab_end_foreign_access(s->gref[i], 0, NULL);
 	}
 
 	kfree(s->sg);
@@ -763,8 +763,7 @@ static int scsifront_alloc_ring(struct vscsifrnt_info *info)
 free_irq:
 	unbind_from_irqhandler(info->irq, info);
 free_gnttab:
-	gnttab_end_foreign_access(info->ring_ref, 0,
-				  (unsigned long)info->ring.sring);
+	gnttab_end_foreign_access(info->ring_ref, 0, info->ring.sring);
 
 	return err;
 }
@@ -772,8 +771,7 @@ free_gnttab:
 static void scsifront_free_ring(struct vscsifrnt_info *info)
 {
 	unbind_from_irqhandler(info->irq, info);
-	gnttab_end_foreign_access(info->ring_ref, 0,
-				  (unsigned long)info->ring.sring);
+	gnttab_end_foreign_access(info->ring_ref, 0, info->ring.sring);
 }
 
 static int scsifront_init_ring(struct vscsifrnt_info *info)
diff --git a/drivers/xen/grant-table.c b/drivers/xen/grant-table.c
index 1189c13..29d88da 100644
--- a/drivers/xen/grant-table.c
+++ b/drivers/xen/grant-table.c
@@ -379,12 +379,12 @@ static void gnttab_add_deferred(grant_ref_t ref, bool readonly,
 }
 
 void gnttab_end_foreign_access(grant_ref_t ref, int readonly,
-			       unsigned long page)
+			       void *page)
 {
 	if (gnttab_end_foreign_access_ref(ref, readonly)) {
 		put_free_entry(ref);
-		if (page != 0)
-			free_page((void *)page);
+		if (page)
+			free_page(page);
 	} else
 		gnttab_add_deferred(ref, readonly,
 				    page ? virt_to_page(page) : NULL);
diff --git a/include/xen/grant_table.h b/include/xen/grant_table.h
index 34b1379..e5bb11a 100644
--- a/include/xen/grant_table.h
+++ b/include/xen/grant_table.h
@@ -98,8 +98,7 @@ int gnttab_end_foreign_access_ref(grant_ref_t ref, int readonly);
  * immediately iff the grant entry is not in use, otherwise it will happen
  * some time later.  page may be 0, in which case no freeing will occur.
  */
-void gnttab_end_foreign_access(grant_ref_t ref, int readonly,
-			       unsigned long page);
+void gnttab_end_foreign_access(grant_ref_t ref, int readonly, void *page);
 
 int gnttab_grant_foreign_transfer(domid_t domid, unsigned long pfn);
 
-- 
2.1.4


  parent reply	other threads:[~2015-12-22  0:01 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-21 23:46 [RFC] free_pages stuff Al Viro
2015-12-21 23:46 ` [POC][PATCH 01/83] switch free_page() from unsigned long to const void * Al Viro
2015-12-21 23:46 ` [POC][PATCH 02/83] switch free_pages() " Al Viro
2015-12-21 23:46 ` [POC][PATCH 03/83] switch get_zeroed_page() to returning " Al Viro
2015-12-21 23:46 ` [POC][PATCH 04/83] kill unused {get,free}_user_page() Al Viro
2015-12-21 23:46 ` [POC][PATCH 05/83] switch copy_mount_options to storing void * instead of unsigned long Al Viro
2015-12-21 23:46 ` [POC][PATCH 06/83] drivers/net/wireless/libertas/debugfs.c: get rid of pointless casts Al Viro
2015-12-21 23:46 ` [POC][PATCH 07/83] drivers/net/wireless/mwifiex/debugfs.c: " Al Viro
2015-12-21 23:46 ` [POC][PATCH 08/83] affs_evict_inode(): " Al Viro
2015-12-21 23:46 ` [POC][PATCH 09/83] configfs_follow_link(): " Al Viro
2015-12-21 23:46 ` [POC][PATCH 10/83] kernfs_iop_follow_link(): " Al Viro
2015-12-21 23:46 ` [POC][PATCH 11/83] sound/oss/vidc: keep dma_buf[] as pointers Al Viro
2015-12-21 23:46 ` [POC][PATCH 12/83] drivers/tty: get rid of pointless casts Al Viro
2015-12-21 23:46 ` [POC][PATCH 13/83] rds: keep pointers in ->m_page_addrs[] Al Viro
2015-12-21 23:46 ` [POC][PATCH 14/83] proc_dev_atm_read(): get rid of pointless casts Al Viro
2015-12-21 23:46 ` [POC][PATCH 15/83] qib get_map_page(): " Al Viro
2015-12-21 23:46 ` [POC][PATCH 16/83] user_namespace: " Al Viro
2015-12-21 23:46 ` [POC][PATCH 17/83] ftrace: " Al Viro
2015-12-21 23:46 ` [POC][PATCH 18/83] sysctl: " Al Viro
2015-12-21 23:46 ` [POC][PATCH 19/83] xenstored_local_init(): " Al Viro
2015-12-21 23:46 ` [POC][PATCH 20/83] staging/rdma: " Al Viro
2015-12-21 23:46 ` [POC][PATCH 21/83] c6x: remove unused macros Al Viro
2015-12-21 23:46 ` [POC][PATCH 22/83] [davinci] ccdc_update_raw_params() frees the wrong thing Al Viro
2015-12-21 23:46 ` [POC][PATCH 23/83] fd_dma_mem_free(): pass address as void * instead of unsigned long Al Viro
2015-12-21 23:46 ` [POC][PATCH 24/83] ppc: keep ->hpt_virt as a pointer Al Viro
2015-12-21 23:46 ` [POC][PATCH 25/83] dma_4u_alloc_coherent(): don't mix virtual and physical addresses Al Viro
2015-12-21 23:46 ` [POC][PATCH 26/83] dma_4v_alloc_coherent(): " Al Viro
2015-12-21 23:47 ` [POC][PATCH 27/83] new helper: get_dma_pages() Al Viro
2015-12-21 23:47 ` [POC][PATCH 28/83] make fd_dma_mem_alloc/nodma_mem_alloc return a pointer Al Viro
2015-12-21 23:47 ` [POC][PATCH 29/83] switch the remaining users of __get_dma_pages() to get_dma_pages() Al Viro
2015-12-21 23:47 ` [POC][PATCH 30/83] sparc: get rid of pointless casts Al Viro
2015-12-21 23:47 ` [POC][PATCH 31/83] efficeon: " Al Viro
2015-12-21 23:47 ` [POC][PATCH 32/83] lguest: " Al Viro
2015-12-21 23:47 ` [POC][PATCH 33/83] drivers/pci: " Al Viro
2015-12-21 23:47 ` [POC][PATCH 34/83] drivers/s390: ger " Al Viro
2015-12-21 23:47 ` [POC][PATCH 35/83] s390 kvm: get " Al Viro
2015-12-21 23:47 ` [POC][PATCH 36/83] pcibios: " Al Viro
2015-12-21 23:47 ` [POC][PATCH 37/83] ste_dma40: " Al Viro
2015-12-21 23:47 ` [POC][PATCH 38/83] usb_mon: " Al Viro
2015-12-21 23:47 ` Al Viro [this message]
2015-12-21 23:47 ` [POC][PATCH 40/83] nios2: dma_free_coherent(): " Al Viro
2015-12-21 23:47 ` [POC][PATCH 41/83] hsi: " Al Viro
2015-12-21 23:47 ` [POC][PATCH 42/83] simserial: " Al Viro
2015-12-21 23:47 ` [POC][PATCH 43/83] arm64 vdso: " Al Viro
2015-12-21 23:47 ` [POC][PATCH 44/83] cris free_init_page(): switch to __free_page() Al Viro
2015-12-21 23:47 ` [POC][PATCH 45/83] arm: switch kvm_arm_hyp_stack_page to void * Al Viro
2015-12-21 23:47 ` [POC][PATCH 46/83] frv consistent_alloc(): switch page " Al Viro
2015-12-21 23:47 ` [POC][PATCH 47/83] ia64: uncached_add_chunk(): switch to __free_pages() Al Viro
2015-12-21 23:47 ` [POC][PATCH 48/83] jfs_readdir(): make dirent_buf a pointer Al Viro
2015-12-21 23:47 ` [POC][PATCH 49/83] get rid of casts in alloc_exact stuff Al Viro
2015-12-21 23:47 ` [POC][PATCH 50/83] s390 cmm: get rid of pointless casts Al Viro
2015-12-21 23:47 ` [POC][PATCH 51/83] microblaze consistent_alloc(): " Al Viro
2015-12-21 23:47 ` [POC][PATCH 52/83] devm_{get_}free_pages(): switch to pointers Al Viro
2015-12-21 23:47 ` [POC][PATCH 53/83] cavium: (partially) get rid of cargo-culting in allocator Al Viro
2015-12-21 23:47 ` [POC][PATCH 54/83] um: store stacks as pointers Al Viro
2015-12-21 23:47 ` [POC][PATCH 55/83] sh: get rid of pointless casts Al Viro
2015-12-21 23:47 ` [POC][PATCH 56/83] amd_gart_64: " Al Viro
2015-12-21 23:47 ` [POC][PATCH 57/83] iwlegacy: " Al Viro
2015-12-21 23:47 ` [POC][PATCH 58/83] iwlwifi: " Al Viro
2015-12-21 23:47 ` [POC][PATCH 59/83] add pointer-returning variants of __get_free_pages/__get_free_page Al Viro
2015-12-21 23:47 ` [POC][PATCH 60/83] switch obvious cases to get_free_pages() Al Viro
2015-12-21 23:47 ` [POC][PATCH 61/83] switch obvious cases to get_free_page() Al Viro
2015-12-21 23:47 ` [POC][PATCH 62/83] m68k: switch pte_alloc_one_kernel() " Al Viro
2015-12-21 23:47 ` [POC][PATCH 63/83] switch kvmppc_core_vcpu_create_pr() " Al Viro
2015-12-21 23:47 ` [POC][PATCH 64/83] drivers/video/fbdev: switch to get_free_pages() Al Viro
2015-12-21 23:47 ` [POC][PATCH 65/83] um: switch to get_free_page() Al Viro
2015-12-21 23:47 ` [POC][PATCH 66/83] switch xen_get_swiotlb_free_pages() to returning a pointer Al Viro
2015-12-21 23:47 ` [POC][PATCH 67/83] mn10300 dma_alloc_coherent(): switch to get_free_pages() Al Viro
2015-12-21 23:47 ` [POC][PATCH 68/83] switch ps3_dma_map() and ps3_dma_region_ops->map() instances to physical address Al Viro
2015-12-21 23:47 ` [POC][PATCH 69/83] ps3_alloc_coherent(): get rid of pointless casts Al Viro
2015-12-21 23:47 ` [POC][PATCH 70/83] s390_dma_alloc(): page_to_phys() result is always a multiple of PAGE_SIZE Al Viro
2015-12-21 23:47 ` [POC][PATCH 71/83] s390_dma_alloc(): use page_address() Al Viro
2015-12-21 23:47 ` [POC][PATCH 72/83] [powerpc] switch cmm_page_array->pages[] to pointers Al Viro
2015-12-21 23:47 ` [POC][PATCH 73/83] niu.c: get rid of pointless casts Al Viro
2015-12-21 23:47 ` [POC][PATCH 74/83] [s390] switch pcpu_alloc_lowcore() to get_free_page() Al Viro
2015-12-21 23:47 ` [POC][PATCH 75/83] kill __get_free_page() Al Viro
2015-12-21 23:47 ` [POC][PATCH 76/83] [mips, s390, score] turn empty_zero_page into pointer Al Viro
2015-12-21 23:47 ` [POC][PATCH 77/83] sparc: switch to get_free_pages() Al Viro
2015-12-21 23:47 ` [POC][PATCH 78/83] x86: " Al Viro
2015-12-21 23:47 ` [POC][PATCH 79/83] s390: turn suspend_zero_pages into a pointer Al Viro
2015-12-21 23:47 ` [POC][PATCH 80/83] [sun3] try to sort dvma types out Al Viro
2015-12-21 23:47 ` [POC][PATCH 81/83] sba_iommu: get rid of pointless casts Al Viro
2015-12-21 23:47 ` [POC][PATCH 82/83] media/platform/omap: " Al Viro
2015-12-21 23:47 ` [POC][PATCH 83/83] nios2: " Al Viro
2015-12-22  0:03 ` [RFC] free_pages stuff Linus Torvalds
2015-12-22  1:04   ` Al Viro
     [not found]     ` <CA+55aFy9NrV_RnziN9z3p5O6rv1A0mirhLD0hL7Wrb77+YyBeg@mail.gmail.com>
2015-12-22  1:23       ` Linus Torvalds
2015-12-22  3:10         ` Al Viro
2015-12-22  2:22       ` Al Viro
2015-12-22  8:21         ` Geert Uytterhoeven
2015-12-22 21:04           ` Al Viro
2016-01-05 13:59             ` Michal Hocko
2016-01-05 15:26               ` Al Viro
2016-01-05 15:42                 ` Michal Hocko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1450741676-5865-39-git-send-email-viro@ZenIV.linux.org.uk \
    --to=viro@zeniv.linux.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®