On Linux many ioctl request code values cannot be passed to ioctl because it assumes that the values are signed ints. Value with the top bit set 0x8000000 are common. Changing the PyArg_ParseTuple calls to use "I" instead of "i" fixes the problem. This may well also be the issue with bug 1112949 "ioctl has problems on 64 bit machines". The attached patch fixes the problem in 2.4.1 and was tested on FC4.
Logged In: YES user_id=6656 Finally committed this as: Modules/fcntlmodule.c revision 2.44 Misc/NEWS revision 1.1326 Thanks, and sorry for the delay...