32-bit UID patches and naming woes

Chris Wing (wingc@engin.umich.edu)
Fri, 3 Dec 1999 01:06:38 -0500 (EST)


Hi. After yesterday's discussion about problems with my 32-bit UID patches
(namely the fact that they broke compiles of programs using msgctl(),
semctl(), and shmctl() under libc5), I've made the following changes:

- struct ipc_perm, msqid_ds, semid_ds, and shmid_ds (in
include/linux/{ipc,msg,sem,shm}.h) do not change, so that people
can compile applications under libc5 and the modified kernel
headers

- include/asm-{arch}/unistd.h does not rename existing system
calls; this would confuse builds of the C library

There are a few things that I need to get clarified before I can fix up
the rest of my patches, however:

- When the C library is being built, several kernel header
files are referenced. Does this mean that nothing can ever
change in the kernel header files that would result in an old C
library being built incorrectly?

- in other words, can the following never change (to the extent
that existing types or structure fields cannot be renamed):

__kernel_uid_t in include/asm-{arch}/posix_types.h

struct stat in include/asm-{arch}/stat.h

union siginfo_t in include/asm-{arch}/siginfo.h

- if this is the case, I will then go ahead and do the following:

define __kernel_uid32_t on selected architectures, without
changing __kernel_uid_t

change include/linux/types.h to typedef uid_t and gid_t
to __kernel_uid32_t and __kernel_gid32_t on these
architectures

fix up all places using __kernel_uid_t and make sure they
use the right one (uid_t or uid32_t)

not change any existing structure fields from uid to
uid16, but rather define new fields called uid32

Thanks to all who have helped me with this; there are a lot of people who
really need 32-bit UIDs in Linux, and I intend to help them out by making
the 32-bit UID patches as correct as possible.

Thanks,
Chris Wing
wingc@engin.umich.edu

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/