Re: [PATCH] btrfs: Don't check for file->private_data on open(). It is set by the core.

From: Al Viro
Date: Thu Nov 13 2014 - 17:14:52 EST


On Wed, Nov 12, 2014 at 07:34:50PM +0100, Martin Kepplinger wrote:

> > Btrfs uses this in the transaction start ioctl to record the transaction
> > handle being started. Ceph is the main user of the ioctl, and we could
> > setup a hash table if needed. But which call path in miscdevice is
> > doing this?
> >
> > With your patch in place, btrfs would end up overwriting the miscdevice
> > private_data field, which would probably cause problems.
> >
> > -chris
> >
>
> I think i was mistaken, sorry. misc_open() used to set
> file->private_data _only_ if you use set .open in struct file_operations.
>
> In current -next this changed and file->private_data is set to struct
> miscdevice on a (userspace's) open call (misc_open()) just in any case.
>
> You do set .open so this wouldn't affect you and this patch can be ignored.

More to the point, this function is not reachable from anything in
file_operations of any miscdevice. btrfs_ioctl != btrfs_control_ioctl...
--
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/