Messages in this thread | | | From | "Moore, Eric Dean" <> | Subject | RE: 2.4.25-rc1: Inconsistent ioctl symbol usage in drivers/messag e/fusion/mptctl.c | Date | Tue, 10 Feb 2004 11:10:26 -0500 |
| |
If we pass NULL as the 2nd parameter for register_ioctl32_conversion(), the mpt_ioctl() entry point is *not* called when running a 32 bit application in x86_64 mode.
The problem comes down to a couple IOCTL structures in mptctl.h are having pointers and longs, and are incompatible between 32bit and 64 bit mode. The register conversion function copy the data to proper packing, and doesn't require people in the field to have to recompile their applications.
EXPORT_SYMBOL(sys_ioctl) is already there in s390x, ppc64, and sparc64 for generic kernels, and in Redhat/SuSE kernels they have EXPORT_SYMBOL(sys_ioctl) under x86_64.
Eric Moore
On Tuesday, February 10, 2004 2:47 AM, Mikael Pettersson wrote: > Can't you just use register_ioctl32_conversion()'s convention that > a NULL handler defaults to sys_ioctl? Alternatively you could just > write the one-liner > > filp->f_op->ioctl(filp->f_dentry->d_inode, filp, cmd, arg) > > in your handler. > - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |