- fmr-pool-remove-unnecessary-pointer-dereference.patch removed from -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled

     fmr pool: remove unnecessary pointer dereference

has been removed from the -mm tree.  Its filename is

     fmr-pool-remove-unnecessary-pointer-dereference.patch

This patch was dropped because it was merged into mainline or a subsystem tree

------------------------------------------------------
Subject: fmr pool: remove unnecessary pointer dereference
From: "Michael S. Tsirkin" <mst@xxxxxxxxxxxxxx>

ib_fmr_pool_map_phys gets the virtual address by pointer but never writes
there, and users (e.g.  srp) seem to assume this and ignore the value
returned.  This patch cleans up the API to get the VA by value, and updates
all users.

Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxxxxxx>
Acked-by: Roland Dreier <rolandd@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 drivers/infiniband/core/fmr_pool.c       |    8 ++++----
 drivers/infiniband/ulp/iser/iser_verbs.c |    2 +-
 drivers/infiniband/ulp/srp/ib_srp.c      |    2 +-
 include/rdma/ib_fmr_pool.h               |    2 +-
 4 files changed, 7 insertions(+), 7 deletions(-)

diff -puN drivers/infiniband/core/fmr_pool.c~fmr-pool-remove-unnecessary-pointer-dereference drivers/infiniband/core/fmr_pool.c
--- a/drivers/infiniband/core/fmr_pool.c~fmr-pool-remove-unnecessary-pointer-dereference
+++ a/drivers/infiniband/core/fmr_pool.c
@@ -426,7 +426,7 @@ EXPORT_SYMBOL(ib_flush_fmr_pool);
 struct ib_pool_fmr *ib_fmr_pool_map_phys(struct ib_fmr_pool *pool_handle,
 					 u64                *page_list,
 					 int                 list_len,
-					 u64                *io_virtual_address)
+					 u64                 io_virtual_address)
 {
 	struct ib_fmr_pool *pool = pool_handle;
 	struct ib_pool_fmr *fmr;
@@ -440,7 +440,7 @@ struct ib_pool_fmr *ib_fmr_pool_map_phys
 	fmr = ib_fmr_cache_lookup(pool,
 				  page_list,
 				  list_len,
-				  *io_virtual_address);
+				  io_virtual_address);
 	if (fmr) {
 		/* found in cache */
 		++fmr->ref_count;
@@ -464,7 +464,7 @@ struct ib_pool_fmr *ib_fmr_pool_map_phys
 	spin_unlock_irqrestore(&pool->pool_lock, flags);
 
 	result = ib_map_phys_fmr(fmr->fmr, page_list, list_len,
-				 *io_virtual_address);
+				 io_virtual_address);
 
 	if (result) {
 		spin_lock_irqsave(&pool->pool_lock, flags);
@@ -481,7 +481,7 @@ struct ib_pool_fmr *ib_fmr_pool_map_phys
 	fmr->ref_count = 1;
 
 	if (pool->cache_bucket) {
-		fmr->io_virtual_address = *io_virtual_address;
+		fmr->io_virtual_address = io_virtual_address;
 		fmr->page_list_len      = list_len;
 		memcpy(fmr->page_list, page_list, list_len * sizeof(*page_list));
 
diff -puN drivers/infiniband/ulp/iser/iser_verbs.c~fmr-pool-remove-unnecessary-pointer-dereference drivers/infiniband/ulp/iser/iser_verbs.c
--- a/drivers/infiniband/ulp/iser/iser_verbs.c~fmr-pool-remove-unnecessary-pointer-dereference
+++ a/drivers/infiniband/ulp/iser/iser_verbs.c
@@ -594,7 +594,7 @@ int iser_reg_page_vec(struct iser_conn  
 	mem  = ib_fmr_pool_map_phys(ib_conn->fmr_pool,
 				    page_list,
 				    page_vec->length,
-				    &io_addr);
+				    io_addr);
 
 	if (IS_ERR(mem)) {
 		status = (int)PTR_ERR(mem);
diff -puN drivers/infiniband/ulp/srp/ib_srp.c~fmr-pool-remove-unnecessary-pointer-dereference drivers/infiniband/ulp/srp/ib_srp.c
--- a/drivers/infiniband/ulp/srp/ib_srp.c~fmr-pool-remove-unnecessary-pointer-dereference
+++ a/drivers/infiniband/ulp/srp/ib_srp.c
@@ -615,7 +615,7 @@ static int srp_map_fmr(struct srp_device
 				(sg_dma_address(&scat[i]) & dev->fmr_page_mask) + j;
 
 	req->fmr = ib_fmr_pool_map_phys(dev->fmr_pool,
-					dma_pages, page_cnt, &io_addr);
+					dma_pages, page_cnt, io_addr);
 	if (IS_ERR(req->fmr)) {
 		ret = PTR_ERR(req->fmr);
 		req->fmr = NULL;
diff -puN include/rdma/ib_fmr_pool.h~fmr-pool-remove-unnecessary-pointer-dereference include/rdma/ib_fmr_pool.h
--- a/include/rdma/ib_fmr_pool.h~fmr-pool-remove-unnecessary-pointer-dereference
+++ a/include/rdma/ib_fmr_pool.h
@@ -88,7 +88,7 @@ int ib_flush_fmr_pool(struct ib_fmr_pool
 struct ib_pool_fmr *ib_fmr_pool_map_phys(struct ib_fmr_pool *pool_handle,
 					 u64                *page_list,
 					 int                 list_len,
-					 u64                *io_virtual_address);
+					 u64                 io_virtual_address);
 
 int ib_fmr_pool_unmap(struct ib_pool_fmr *fmr);
 
_

Patches currently in -mm which might be from mst@xxxxxxxxxxxxxx are


-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux