Messages in this thread | | | Date | Wed, 10 Nov 1999 21:53:09 -0500 (EST) | From | Chris Wing <> | Subject | Proposal for 32-bit UIDs in SysVIPC |
| |
The 32-bit UID patches that I've posted over the past 2 days do not make it fully possible to manipulate SysVIPC objects with 32-bit UIDs/GIDs, owing to the fact that the ipc_perm structure used to communicate with user programs uses 16 bits for the UID and GID on some architectures.
I have written a prototype patch which addresses this by adding a new set of IPC commands which are accepted by msgctl(), semctl(), and shmctl(), and renaming the current IPC_STAT, IPC_SET, MSG_STAT, SEM_STAT, and SHM_STAT to IPC_OLDSTAT, IPC_OLDSET, etc.
The patch is available at:
http://www.engin.umich.edu/caen/systems/Linux/code/misc/2.3/19991110b/linux-ipc.patch
and the rest of the patches necessary to actually compile a kernel with it are located at:
http://www.engin.umich.edu/caen/systems/Linux/code/misc/2.3/19991110b/
Note that this is just a draft; I haven't actually run a kernel with this patch yet, although it does compile :)
I think that this approach is clean and maintainable. If anyone is interested in looking it over, I would appreciate any comments about the approach or suggestions as to how I could improve it.
While I was at it, I also enlarged several fields in the msgid_ds, semid_ds, and shmid_ds structures, for no particular reason other than the fact that I had to create new structures because there was no pad space available. Would it be a good idea to add pad space to these new structures now to avoid this problem in the future?
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/
| |