2016-03-18 17:11:33

by Brian Norris

[permalink] [raw]
Subject: [PATCH] ntb: test: fix pointer size warning

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.

Signed-off-by: Brian Norris <[email protected]>
Cc: Dave Jiang <[email protected]>
Cc: Jon Mason <[email protected]>
Cc: Allen Hubbe <[email protected]>
---
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


2016-03-18 17:15:13

by Dave Jiang

[permalink] [raw]
Subject: Re: [PATCH] ntb: test: fix pointer size warning

On Fri, 2016-03-18 at 10:11 -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.
>
> Signed-off-by: Brian Norris <[email protected]>
> Cc: Dave Jiang <[email protected]>
> Cc: Jon Mason <[email protected]>
> Cc: Allen Hubbe <[email protected]>

Acked-by: Dave Jiang <[email protected]>

> ---
>  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);

2016-03-21 23:54:30

by Jon Mason

[permalink] [raw]
Subject: Re: [PATCH] ntb: test: fix pointer size warning

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 <[email protected]>
> Cc: Dave Jiang <[email protected]>
> Cc: Jon Mason <[email protected]>
> Cc: Allen Hubbe <[email protected]>
> ---
> 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
>

2016-03-22 00:31:22

by Brian Norris

[permalink] [raw]
Subject: Re: [PATCH] ntb: test: fix pointer size warning

On Mon, Mar 21, 2016 at 07:52:38PM -0400, Jon Mason wrote:
> 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.

Great!

Is your ntb tree in linux-next.git?

Regards,
Brian

2016-03-27 15:23:25

by Jon Mason

[permalink] [raw]
Subject: Re: [PATCH] ntb: test: fix pointer size warning

On Mon, Mar 21, 2016 at 8:31 PM, Brian Norris
<[email protected]> wrote:
> On Mon, Mar 21, 2016 at 07:52:38PM -0400, Jon Mason wrote:
>> 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.
>
> Great!
>
> Is your ntb tree in linux-next.git?

No, it is not.

> Regards,
> Brian