RE: 2.4.25-rc1: Inconsistent ioctl symbol usage in drivers/messag e/fusion/mptctl.c

From: Moore, Eric Dean
Date: Tue Feb 10 2004 - 11:14:12 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/