lkml.org 
[lkml]   [2004]   [Feb]   [11]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateWed, 11 Feb 2004 12:14:07 +0100
FromMikael Pettersson <>
SubjectRE: 2.4.25-rc1: Inconsistent ioctl symbol usage in drivers/messag e/fusion/mptctl.c
Moore, Eric Dean writes:
 > On Tuesday, February 10, 2004 9:25 AM, Mikael Pettersson  wrote:
 > > Moore, Eric Dean writes:
 > >  > 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.
 > > 
 > > Ok, but you still don't need sys_ioctl() since the one-liner
 > > 
 > >  > > filp->f_op->ioctl(filp->f_dentry->d_inode, filp, cmd, arg)
 > > 
 > > (or a hardcoded call to your ioctl() method) suffices.
 > > 
 > > sys_ioctl() mostly just checks for special case ioctls before
 > > doing the line above, but those special cases can't occur
 > > since the kernel has already matched your particular ioctl.
 > > 
 > > /Mikael
 > > 
 > 
 > 
 > Ok - I have modified the mpt fusion driver per your suggestions.
 > Please advise if this would work.
...
 >  static int
 > +compat_mptctl_ioctl(unsigned int fd, unsigned int cmd,
 > +			unsigned long arg, struct file *filp)
 > +{
 > +	dctlprintk((KERN_INFO MYNAM "::compat_mptctl_ioctl() called\n"));
 > +
 > +	return mptctl_ioctl(filp->f_dentry->d_inode, filp, cmd, arg);
 > +}
 > +
 > +static int
 >  compat_mptfwxfer_ioctl(unsigned int fd, unsigned int cmd,
 >  			unsigned long arg, struct file *filp)
 >  {
 > @@ -2864,30 +2872,31 @@
 >  	}
 > 
 >  #ifdef MPT_CONFIG_COMPAT
 > -	err = register_ioctl32_conversion(MPTIOCINFO, sys_ioctl);
 > +	err = register_ioctl32_conversion(MPTIOCINFO, compat_mptctl_ioctl);

Looks fine to me.

I forgot to mention that sys_ioctl() also does lock_kernel(), but
AMD64's sys32_ioctl() does not. So if you rely on having the BKL
you'll need to add lock_kernel() to your wrapper above.

/Mikael
-
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/

\
 
 \ /
  Last update: 2005-03-22 14:00    [from the cache]
©2003-2008