[PATCH 1/4] mtd: block2mtd: char mtd major check

Fabian Frederick fabf at skynet.be
Fri Jan 24 21:53:58 EST 2014


On Fri, 24 Jan 2014 19:10:11 -0300
Ezequiel Garcia <ezequiel.garcia at free-electrons.com> wrote:

> On Thu, Jan 23, 2014 at 08:49:47PM +0100, Fabian Frederick wrote:
> > Deny use of a char mtd device to map as a block device.
> > 
> > Signed-off-by: Fabian Frederick <fabf at skynet.be>
> > ---
> >  drivers/mtd/devices/block2mtd.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/mtd/devices/block2mtd.c b/drivers/mtd/devices/block2mtd.c
> > index d9fd87a..0efee5b 100644
> > --- a/drivers/mtd/devices/block2mtd.c
> > +++ b/drivers/mtd/devices/block2mtd.c
> > @@ -244,7 +244,8 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size)
> >  	}
> >  	dev->blkdev = bdev;
> >  
> > -	if (MAJOR(bdev->bd_dev) == MTD_BLOCK_MAJOR) {
> > +	if ((MAJOR(bdev->bd_dev) == MTD_BLOCK_MAJOR) ||
> > +	    (MAJOR(bdev->bd_dev) == MTD_CHAR_MAJOR)) {
> >  		pr_err("attempting to use an MTD device as a block device\n");
> >  		goto devinit_err;
> >  	}
> > -- 
> > 1.8.1.4
> 
> Now that the changes are separated on a per-patch basis they're much
> much easier to review. Thanks!
> 
> Regarding this changes, it seems to me it's not needed. Are you sure
> you can attach "block2mtd" to a char MTD device?
> 
> That would be odd, given this function calls blkdev_get_by_{path/dev};
> which will check the device is of block type in the first place.
> 
You're absoletly right.Thanks for your time checking these small patches.
As only patch 2 seems useful , I've sent version 2 with new error names.

Regards,
Fabian

> What's your motivation for this change?
> -- 
> Ezequiel García, Free Electrons
> Embedded Linux, Kernel and Android Engineering
> http://free-electrons.com



More information about the linux-mtd mailing list