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. 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