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

From: [email-masked] (Eric W. Biederman)
Date: Tue, 29 Jan 2013 04:26:08 -0800

Steffen Klassert <[email-masked]> writes:

> 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'.

Yes.  There are currently 11 filesystems whose uid_t to kuid_t
conversions have not yet been merged.  I am working on those
conversions now and with a little luck I will have everything
ready them all converted by 3.9.

Eric