Re: [PATCH 1/1] mmc: Check to disable IOCTL when card is mounted

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 28, 2011 at 5:39 PM, Adrian Hunter <adrian.hunter@xxxxxxxxx> wrote:
> On 28/12/11 12:46, Shashidhar hiremath wrote:
>> From: Shashidhar Hiremath <shashidharh@xxxxxxxxxxxxxxx>
>>
>> The Patch adds a check to disable the IOCTL from running when the card is mounted
>> or device is opened elsewhere.
>
> What if someone wants to do that.
The issue with not having this is that if there is huge size data
transfer operation happening, the IOCTL issuing will corrupt the data
transfer operation. So it would be better to finish the device's
access by one thing and give control to ioctl after that.
>
> Generally the kernel does not prevent access to raw block devices
> just because a file system is mounted on them, so I guess MMC should
> not either.

>
>
>>
>> Signed-off-by: Shashidhar Hiremath <shashidharh@xxxxxxxxxxxxxxx>
>> ---
>>  drivers/mmc/card/block.c |    6 ++++++
>>  1 files changed, 6 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
>> index 0cad48a..e680929 100644
>> --- a/drivers/mmc/card/block.c
>> +++ b/drivers/mmc/card/block.c
>> @@ -387,6 +387,12 @@ static int mmc_blk_ioctl_cmd(struct block_device *bdev,
>>               err = -EINVAL;
>>               goto cmd_done;
>>       }
>> +     /* Disallow the IOCTL run if card is already mounted or device is
>> +      * opened elsewhere */
>> +     if (md->usage > 3) {
>> +             err = -EINVAL;
>> +             goto cmd_done;
>> +     }
>
> Checking the usage will not work consistently e.g.
> if there is a sysfs access or another ioctl access at the
> same time, or just some other kernel user of the device.
>
>>
>>       card = md->queue.card;
>>       if (IS_ERR(card)) {
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



-- 
regards,
Shashidhar Hiremath
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux