Message ID | 20140123204947.fc1c03dc0a1624d3347b3837@skynet.be |
---|---|
State | Rejected |
Headers | show |
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@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. What's your motivation for this change?
On Fri, 24 Jan 2014 19:10:11 -0300 Ezequiel Garcia <ezequiel.garcia@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@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
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; }
Deny use of a char mtd device to map as a block device. Signed-off-by: Fabian Frederick <fabf@skynet.be> --- drivers/mtd/devices/block2mtd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)