From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Subject: [patch] staging: rdma: shift wrapping bug in c2_get_dma_mr() Date: Fri, 8 Jan 2016 14:49:36 +0300 Message-ID: <20160108114936.GA3802@mwanda> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" To: Doug Ledford , Christoph Hellwig Cc: devel@driverdev.osuosl.org, linux-rdma@vger.kernel.org, Greg Kroah-Hartman , Steve Wise , kernel-janitors@vger.kernel.org, Matan Barak , Jason Gunthorpe , Geliang Tang , Sean Hefty , Hal Rosenstock List-Id: linux-rdma@vger.kernel.org We should be using all 64 bits of page_list[i] instead of just the lower 32. Signed-off-by: Dan Carpenter diff --git a/drivers/staging/rdma/amso1100/c2_provider.c b/drivers/staging/rdma/amso1100/c2_provider.c index de8d10e..ac6a6ff 100644 --- a/drivers/staging/rdma/amso1100/c2_provider.c +++ b/drivers/staging/rdma/amso1100/c2_provider.c @@ -361,7 +361,7 @@ static struct ib_mr *c2_get_dma_mr(struct ib_pd *pd, int acc) } for (i = 0; i < pbl_depth; i++) - page_list[i] = (i << page_shift); + page_list[i] = ((u64)i << page_shift); mr = kmalloc(sizeof(*mr), GFP_KERNEL); if (!mr) {