On Mon, Apr 16, 2001 at 08:42:41PM +0200, Geert Uytterhoeven wrote:
> > #define _IOWR(type,nr,size)
> > _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
> > and _IOC uses size in this way:
> > (((size) & _IOC_SLMASK) << _IOC_SIZESHIFT)) // (_IOC_SLMMASK =
> > 0xff)
> > The limited size causes problems on drivers that use size mask to their
> > needs, while officialy the allowed limit is 2^13 ( 8kB) by definition .
> This was fixed in the CVS tree some weeks ago.
Small addendum to the fix - while it made some ioctls usable it also did
result in the affected ioctl number changing which may have broken some
software that _appeared_ to be working before. One example is autofs.
Just recompile against the updated kernel headers and everything will be
The effect gets more visible on the 64-bit kernel which will spit kernel
messages for unknown ioctls.