Subject: Re: [PATCH] soreuseport: fix use of uid in tb->fastuid

From: Steffen Klassert <[email-masked]>
Date: Mon, 28 Jan 2013 08:47:07 +0100

On Sat, Jan 26, 2013 at 09:50:54AM -0800, Tom Herbert wrote:
> Fix a reported compilation error where ia variable of type kuid_t
> was being set to zero.
> 

Thanks for fixing this.
Unfortunately I get another compilation error now:

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:70:20: note: expected ‘kuid_t’ but argument is of type ‘int’
make[3]: *** [net/ipv6/inet6_connection_sock.o] Error 1

I wondered why noone else is seeing this, so I did some analysis.
I'm getting this because of the UIDGID_STRICT_TYPE_CHECKS config option.
This is selected by USER_NS which in turn depends on UIDGID_CONVERTED.
Most people can't enable USER_NS because they compile something like
nfs or anything else that is not 'UIDGID_CONVERTED'.