2007-05-08 18:51:52

by Chris Wedgwood

[permalink] [raw]
Subject: [PATCH] Type cast some size_t arguments to 'unsigned int' to avoid (harmless) gcc printk warnings.

Signed-off-by: Chris Wedgwood <[email protected]>
---
net/sunrpc/sched.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c
index 4a53e94..60df3c1 100644
--- a/net/sunrpc/sched.c
+++ b/net/sunrpc/sched.c
@@ -764,7 +764,7 @@ void *rpc_malloc(struct rpc_task *task, size_t size)
buf = kmalloc(size, gfp);
*buf = size;
dprintk("RPC: %5u allocated buffer of size %u at %p\n",
- task->tk_pid, size, buf);
+ task->tk_pid, (unsigned int)size, buf);
return (void *) ++buf;
}

@@ -783,7 +783,7 @@ void rpc_free(void *buffer)
buf--;

dprintk("RPC: freeing buffer of size %u at %p\n",
- size, buf);
+ (unsigned int)size, buf);
if (size <= RPC_BUFFER_MAXSIZE)
mempool_free(buf, rpc_buffer_mempool);
else
--
1.5.1.3


2007-05-08 20:03:11

by Alexey Dobriyan

[permalink] [raw]
Subject: Re: [PATCH] Type cast some size_t arguments to 'unsigned int' to avoid (harmless) gcc printk warnings.

On Tue, May 08, 2007 at 11:29:26AM -0700, Chris Wedgwood wrote:
> --- a/net/sunrpc/sched.c
> +++ b/net/sunrpc/sched.c
> @@ -764,7 +764,7 @@ void *rpc_malloc(struct rpc_task *task, size_t size)
> buf = kmalloc(size, gfp);
> *buf = size;
> dprintk("RPC: %5u allocated buffer of size %u at %p\n",
> - task->tk_pid, size, buf);
> + task->tk_pid, (unsigned int)size, buf);
> return (void *) ++buf;
> }
>
> @@ -783,7 +783,7 @@ void rpc_free(void *buffer)
> buf--;
>
> dprintk("RPC: freeing buffer of size %u at %p\n",
> - size, buf);
> + (unsigned int)size, buf);

For one, size_t should be printed with %zu.
For two, this is already fixed in mainline.

2007-05-08 20:06:51

by Chris Wedgwood

[permalink] [raw]
Subject: Re: [PATCH] Type cast some size_t arguments to 'unsigned int' to avoid (harmless) gcc printk warnings.

On Wed, May 09, 2007 at 12:03:19AM +0400, Alexey Dobriyan wrote:

> For one, size_t should be printed with %zu.

thanks, i wasn't aware of this

> For two, this is already fixed in mainline.

this was against mainline that wasn't more than an hour old when i
sent the patch

2007-05-09 03:42:16

by H. Peter Anvin

[permalink] [raw]
Subject: Re: [PATCH] Type cast some size_t arguments to 'unsigned int' to avoid (harmless) gcc printk warnings.

Chris Wedgwood wrote:
> Signed-off-by: Chris Wedgwood <[email protected]>
> ---
> net/sunrpc/sched.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c
> index 4a53e94..60df3c1 100644
> --- a/net/sunrpc/sched.c
> +++ b/net/sunrpc/sched.c
> @@ -764,7 +764,7 @@ void *rpc_malloc(struct rpc_task *task, size_t size)
> buf = kmalloc(size, gfp);
> *buf = size;
> dprintk("RPC: %5u allocated buffer of size %u at %p\n",
> - task->tk_pid, size, buf);
> + task->tk_pid, (unsigned int)size, buf);
> return (void *) ++buf;
> }
>
> @@ -783,7 +783,7 @@ void rpc_free(void *buffer)
> buf--;
>
> dprintk("RPC: freeing buffer of size %u at %p\n",
> - size, buf);
> + (unsigned int)size, buf);
> if (size <= RPC_BUFFER_MAXSIZE)
> mempool_free(buf, rpc_buffer_mempool);
> else

NAK. This is wrong for multiple reasons.
Use %zu instead.

-hpa