ipv6: Fix inet6_csk_bind_conflict so it builds with user namespaces enabled
authorEric W. Biederman <ebiederm@xmission.com>
Tue, 29 Jan 2013 02:16:18 +0000 (02:16 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 29 Jan 2013 20:20:12 +0000 (15:20 -0500)
When attempting to build linux-next with user namespaces enabled I ran
into this fun build error.

  CC      net/ipv6/inet6_connection_sock.o
.../net/ipv6/inet6_connection_sock.c: In function ‘inet6_csk_bind_conflict’:
.../net/ipv6/inet6_connection_sock.c:37:12: error: incompatible types when initializing type ‘int’ using
 type ‘kuid_t’
.../net/ipv6/inet6_connection_sock.c:54:30: error: incompatible type for argument 1 of ‘uid_eq’
.../include/linux/uidgid.h:48:20: note: expected ‘kuid_t’ but argument is of type ‘int’
make[3]: *** [net/ipv6/inet6_connection_sock.o] Error 1
make[2]: *** [net/ipv6] Error 2
make[2]: *** Waiting for unfinished jobs....

Using kuid_t instead of int to hold the uid fixes this.

Cc: Tom Herbert <therbert@google.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/inet6_connection_sock.c

index e4297a393678c5e7fadcd3119f3ce53301da07a0..b386a2ce4c6fdd4b01afe3903e6988fbdeaa2043 100644 (file)
@@ -34,7 +34,7 @@ int inet6_csk_bind_conflict(const struct sock *sk,
        const struct hlist_node *node;
        int reuse = sk->sk_reuse;
        int reuseport = sk->sk_reuseport;
-       int uid = sock_i_uid((struct sock *)sk);
+       kuid_t uid = sock_i_uid((struct sock *)sk);
 
        /* We must walk the whole port owner list in this case. -DaveM */
        /*