On 28/12/11 12:46, Shashidhar hiremath wrote:
> From: Shashidhar Hiremath <[email protected]>
> 
> 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.

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 <[email protected]>
> ---
>  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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to