[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

ioctl, compat_ioctl and ioctl32



I'm having trouble inserting a module into the kernel. It was originally written for a 32bit architecture, as were the binaries that use it, and the kernel seems to be calling ioctl32 rather than ioctl.

ioctl32(app:2342): Unknown cmd fd(7) etc etc.

I imagine this is to allow the 32bit binaries (and libraries) to use the 64bit kernel, allowing for some conversion to take place.

The problem is when building the module, if I add an entry to my fops struct for ioctl32 (or from a little bit of research 'compat_ioctl'), it complains that this is an unknown field in the kernel's fops struct.

I'm using the default kernel btw. Would anyone know why I'm unable to add this field to the struct? Or could anyone refer me to anything that might explain things?

Thanks a lot

James



Reply to: