[parisc-linux] what's up with the ipc syscalls?
Randolph Chung
Randolph Chung <randolph@tausq.org>
Sun, 2 Nov 2003 13:55:28 -0800
> look at the switch statements in msg.c/sem.c/shm.c. If you don't mask
> off IPC_64, the cases don't match.
>
> > right now glibc *doesn't* call the syscall with IPC_64, but i'm about to
> > make it do that again.
>
> I don't think this is a good idea, because by checking for IPC_64 we
> could see, whether an old glibc is used and could convert structs
> (see sys_parisc.c:sys_shmctl_broken()).
?
the whole point is to check the value passed in from userspace instead
of forcing a particular value in the kernel, right?
what i'm proposing is:
- don't touch 2.4, glibc can pass in IPC_64 or not, and it will work
(since the kernel forces something anyway)
- fix glibc to pass in IPC_64 properly into the kernel from now on,
2.4 will still work with current hacks.
- fix 2.6 to detect the IPC_64 flag and go through the "normal"
(arch-indep) path to figure out it should use the new structs
2.6 is broken as it is now, so there's no 2.6 compatibility to worry
about.
did i miss something?
randolph
--
Randolph Chung
Debian GNU/Linux Developer, hppa/ia64 ports
http://www.tausq.org/