[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5463A84A.8010606@posteo.de>
Date: Wed, 12 Nov 2014 19:34:50 +0100
From: Martin Kepplinger <martink@...teo.de>
To: Chris Mason <clm@...com>
CC: linux-btrfs@...r.kernel.org, gregkh@...uxfoundation.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] btrfs: Don't check for file->private_data on open().
It is set by the core.
Am 2014-11-12 um 18:59 schrieb Chris Mason:
> On Wed, Nov 12, 2014 at 11:38 AM, Martin Kepplinger <martink@...teo.de>
> wrote:
>> The miscdevice core now sets file->private_data to the struct miscdevice
>> so don't fail when this is not NULL.
>>
>> Signed-off-by: Martin Kepplinger <martink@...teo.de>
>> ---
>> This is a question: what does this check provide and does overwriting
>> file->private_data make any difference?
>>
>> Is miscdevice's open() by the user not allowed here, if
>> file->private_data
>> is set?
>>
>> thanks!!
>
> 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.
martin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists