2010-01-15 00:21:43

by Hartley Sweeten

[permalink] [raw]
Subject: [PATCH] net/core/sock.c: quiet sparse noise

net/core/sock.c: quiet sparse noise

In sock_getsockopt the symbol 'lv' is declared as an
unsigned int type, probably due to sizeof returning a
size_t which is really an unsigned int.

This produces a sparse warning for SO_PEERNAME due to
the sock->ops->getname() call:

warning: incorrect type in argument 3 (different signedness)
expected int *sockaddr_len
got unsigned int *<noident>

Quiet the warning my changing the type of 'lv' to an int.

Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: David S. Miller <[email protected]>

---

diff --git a/net/core/sock.c b/net/core/sock.c
index e1f6f22..10b1d32 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -741,7 +741,7 @@ int sock_getsockopt(struct socket *sock, int level, int optname,
struct timeval tm;
} v;

- unsigned int lv = sizeof(int);
+ int lv = sizeof(int);
int len;

if (get_user(len, optlen))


2010-01-15 09:09:10

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] net/core/sock.c: quiet sparse noise

From: H Hartley Sweeten <[email protected]>
Date: Thu, 14 Jan 2010 17:21:45 -0700

> net/core/sock.c: quiet sparse noise
>
> In sock_getsockopt the symbol 'lv' is declared as an
> unsigned int type, probably due to sizeof returning a
> size_t which is really an unsigned int.
>
> This produces a sparse warning for SO_PEERNAME due to
> the sock->ops->getname() call:
>
> warning: incorrect type in argument 3 (different signedness)
> expected int *sockaddr_len
> got unsigned int *<noident>
>
> Quiet the warning my changing the type of 'lv' to an int.
>
> Signed-off-by: H Hartley Sweeten <[email protected]>

Applied to net-next-2.6, thanks.