On Sun, Feb 12, 2006 at 07:03:08PM +0100, Bastian Blank wrote:
> On Sun, Feb 12, 2006 at 06:38:55PM +0100, Christoph Hellwig wrote:
> > static int
> > -dasd_ioctl_api_version(struct block_device *bdev, int no, long args)
> > +dasd_ioctl_api_version(void __user *argp)
> > {
> > int ver = DASD_API_VERSION;
> > - return put_user(ver, (int __user *) args);
> > + return put_user(ver, (int *)argp);
> > }
>
> Doesn't this need to be "int __user *"?
Yes.
> > +long
> > +dasd_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
> > {
> > - int i;
> > + int rval;
> >
> > - for (i = 0; dasd_ioctls[i].no != -1; i++)
> > - dasd_ioctl_no_unregister(NULL, dasd_ioctls[i].no,
> > - dasd_ioctls[i].fn);
> > + lock_kernel();
> > + rval = dasd_ioctl(filp->f_dentry->d_inode, filp, cmd, arg);
> > + unlock_kernel();
>
> The lock_kernel looks spurious.
dasd_compat_ioctl just moved down unchanged to the end of the file so it
can call dasd_ioctl without a forward-prototype. When I introduced this
function a while ago I added the lock_kernel because that the BKL is
held when dasd_ioctl is called directly and I wanted to avoid different
locks from different codepathes. Once we can switch dasd to
->unlocked_ioctl it could probably go away.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]