[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/