]> git.hungrycats.org Git - linux/commit
[PATCH] UID16 fixes
authorAndi Kleen <ak@muc.de>
Mon, 6 Oct 2003 08:15:36 +0000 (01:15 -0700)
committerLinus Torvalds <torvalds@home.osdl.org>
Mon, 6 Oct 2003 08:15:36 +0000 (01:15 -0700)
commita001f96a1c93d01e6da68f3de143f01f51b60f87
treec5dc202a1852ff5af8ee7b519b12710e0bdb4334
parentd37a8f363dbeb68b6654a9b264c41439ad9e1c40
[PATCH] UID16 fixes

This fixes CONFIG_UID16 problems on x86-64 as discussed earlier.

CONFIG_UID16 now only selects the inclusion of kernel/uid16.c, all
conversions are triggered dynamically based on type sizes.  This allows
x86-64 to both include uid16.c for emulation purposes, but not truncate
uids to 16bit in sys_newstat.

- Replace the old macros from linux/highuid.h with new SET_UID/SET_GID
  macros that do type checking. Based on Linus' proposal.

- Fix everybody to use them.

- Clean up some cruft in the x86-64 32bit emulation allowed by this
  (other 32bit emulations could be cleaned too, but I'm too lazy for
  that right now)

- Add one missing EOVERFLOW check in x86-64 32bit sys_newstat while
  I was at it.
arch/mips/kernel/linux32.c
arch/x86_64/ia32/sys_ia32.c
fs/binfmt_elf.c
fs/ncpfs/ioctl.c
fs/smbfs/inode.c
fs/smbfs/ioctl.c
fs/stat.c
include/asm-x86_64/posix_types.h
include/linux/highuid.h
ipc/util.c