Tim Hockin wrote: > Martin Schwidefsky wrote: > >>> It seems to me that if we do: >>> * s390x defines CONFIG_UID16 >>> * typedef __kernel_old_gid_t to u16 >>> * get rid of all the sys32_*16 stuff and just call the uid16.c function >> >> >> I checked the code and didn't find any reason why this shouldn't work. >> In fact with the 31 bit emulation layer the 64 bit kernel does need the >> 16 bit uid/gid system calls although only for the emulation. To make it >> really perfect you could define CONFIG_UID16 dependent on >> CONFIG_S390_SUPPORT. This saves a few bytes in the image if the emulation >> support is not enabled.
Uggh, DaveM pointed out a very good issue with this fix (similar for Sparc64) and core files. Core files will now have truncated uid/gid values because fs/binfmt_elf calls NEW_TO_OLD_UID(). May be other places, too. I guess you should not apply this patch until I've had a better think about it. Tim -- Tim Hockin Systems Software Engineer Sun Microsystems, Linux Kernel Engineering [EMAIL PROTECTED]
