BusyBox Bug and Patch Tracking
BusyBox
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0002084 [uClibc] Other minor always 02-07-08 20:00 03-13-08 05:22
Reporter michael_d View Status public  
Assigned To uClibc
Priority normal Resolution open  
Status assigned   Product Version
Summary 0002084: SysVIPC does not work on old kernels
Description The functions shmctl(), semctl(), and msgctl() unconditionally or their subcommand argument with __IPC_64. That flag was only added in Linux 2.4, so they will always fail on older kernels.

I've prepared a patch to allow IPC to work on old kernels. Since __IPC_64 signals a different format of the syscall arguments and I haven't changed the userspace structures, a significant amount of marshalling code needed to be added.

The patch does need some adaptation before it can go into the mainline. Since it is not safe to include <linux/ipc.h>, I cannot probe whether the current kernel supports __IPC_64 or not. Thus, this patch will unconditionally use old kernel structures. I've left a "#if 0" in libc/misc/sysvipc/ipc.h that can be flipped to produce a library for 2.4+.
Additional Information
Attached Files  uClibc-0.9.29-ipc32.diff [^] (11,365 bytes) 02-07-08 20:00
 uClibc-0.9.29-ipc32-newer.diff [^] (14,968 bytes) 03-13-08 05:20

- Relationships

- Notes
(0004934)
vapier
02-15-08 15:41

make the code conditional on the versions of the kernel headers being compiled against
 
(0005714)
michael_d
03-13-08 05:22

I don't like using kernel version numbers, since stuff gets backported occasionally.

However, I've submitted a new version of the patch. This one checks the presence of the <asm/ipcbuf.h> header to detect an IPC64-supporting kernel.
 

- Issue History
Date Modified Username Field Change
02-07-08 20:00 michael_d New Issue
02-07-08 20:00 michael_d Status new => assigned
02-07-08 20:00 michael_d Assigned To  => uClibc
02-07-08 20:00 michael_d File Added: uClibc-0.9.29-ipc32.diff
02-15-08 15:41 vapier Note Added: 0004934
03-13-08 05:20 michael_d File Added: uClibc-0.9.29-ipc32-newer.diff
03-13-08 05:22 michael_d Note Added: 0005714


Copyright © 2000 - 2006 Mantis Group
Powered by Mantis Bugtracker