The NGROUPS patch exposed me to a lot of duplicated code in some of the 64 bit architectures (stemming from CONFIG_UID16). So a few months back, I worked up a solution. It seems that things have changed some. Architectures that used to not define CONFIG_UID16 (sparc64, s390, x86_64) now do. But they don't take advantage of the uid16.c code. This (totally experimental, untestable by me) patch removes the offending code. In short: * pry apart highuid.h and uid16.c * build uid16.o iff CONFIG_UID16_SYSCALLS * anywhere that defines CONFIG_UID16 adds CONFIG_UID16_SYSCALLS * add CONFIG_UID16_SYSCALLS for any arch that wants to use uid16.c without converting everywhere else highuid.h is used * strip out lots of code that was copied from uid16.c This may all be totally worthless. That's up to the arch people to decide, I guess. I just said I would look into the mess. :) -- Tim Hockin Sun Microsystems, Linux Software Engineering thockin@sun.com All opinions are my own, not Sun's