Re: [PATCH] ntb: test: fix pointer size warning

From: Jon Mason
Date: Mon Mar 21 2016 - 19:54:33 EST


On Fri, Mar 18, 2016 at 10:11:20AM -0700, Brian Norris wrote:
> drivers/ntb/test/ntb_perf.c: In function âperf_copyâ:
> drivers/ntb/test/ntb_perf.c:213:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
> drivers/ntb/test/ntb_perf.c:214:14: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
>
> On 32-bit systems, we are casting a 32-bit pointer to a 64-bit value.
> This shouldn't cause functional problems, but we might as well fix the
> warning and allow 32-bit arithmetic for 32-bit systems.

This was already addressed by a patch from Arnd Bergmann, which is
queued in the ntb git tree.

Thanks,
Jon

>
> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx>
> Cc: Dave Jiang <dave.jiang@xxxxxxxxx>
> Cc: Jon Mason <jdmason@xxxxxxxx>
> Cc: Allen Hubbe <Allen.Hubbe@xxxxxxx>
> ---
> drivers/ntb/test/ntb_perf.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/ntb/test/ntb_perf.c b/drivers/ntb/test/ntb_perf.c
> index c8a37ba4b4f9..835e2686998d 100644
> --- a/drivers/ntb/test/ntb_perf.c
> +++ b/drivers/ntb/test/ntb_perf.c
> @@ -189,7 +189,7 @@ static ssize_t perf_copy(struct pthr_ctx *pctx, char *dst,
> dma_cookie_t cookie;
> size_t src_off, dst_off;
> struct perf_mw *mw = &perf->mw;
> - u64 vbase, dst_vaddr;
> + uintptr_t vbase, dst_vaddr;
> dma_addr_t dst_phys;
> int retries = 0;
>
> @@ -210,8 +210,8 @@ static ssize_t perf_copy(struct pthr_ctx *pctx, char *dst,
> if (!is_dma_copy_aligned(device, src_off, dst_off, size))
> return -ENODEV;
>
> - vbase = (u64)(u64 *)mw->vbase;
> - dst_vaddr = (u64)(u64 *)dst;
> + vbase = (uintptr_t)(u64 *)mw->vbase;
> + dst_vaddr = (uintptr_t)(u64 *)dst;
> dst_phys = mw->phys_addr + (dst_vaddr - vbase);
>
> unmap = dmaengine_get_unmap_data(device->dev, 1, GFP_NOWAIT);
> --
> 2.8.0.rc3.226.g39d4020
>