* [PATCH 3/4] mtd: block2mtd: check device size
@ 2014-01-23 19:53 Fabian Frederick
2014-01-29 10:04 ` Ezequiel Garcia
0 siblings, 1 reply; 6+ messages in thread
From: Fabian Frederick @ 2014-01-23 19:53 UTC (permalink / raw)
To: linux-mtd; +Cc: akpm, rdunlap, joern, linux-kernel, ezequiel.garcia
fixme applied : check device size is a multiple of erasesize.
Signed-off-by: Fabian Frederick <fabf@skynet.be>
---
drivers/mtd/devices/block2mtd.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/mtd/devices/block2mtd.c b/drivers/mtd/devices/block2mtd.c
index 8071596..f0fd4fc 100644
--- a/drivers/mtd/devices/block2mtd.c
+++ b/drivers/mtd/devices/block2mtd.c
@@ -209,7 +209,6 @@ static void block2mtd_free_device(struct block2mtd_dev *dev)
}
-/* FIXME: ensure that mtd->size % erase_size == 0 */
static struct block2mtd_dev *add_device(char *devname, int erase_size)
{
const fmode_t mode = FMODE_READ | FMODE_WRITE | FMODE_EXCL;
@@ -250,6 +249,11 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size)
goto devinit_err1;
}
+ if ((long)dev->blkdev->bd_inode->i_size % erase_size) {
+ pr_err("erasesize muse be a divisor of device size\n");
+ goto devinit_err1;
+ }
+
mutex_init(&dev->write_mutex);
/* Setup the MTD structure */
--
1.8.1.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 3/4] mtd: block2mtd: check device size
2014-01-23 19:53 [PATCH 3/4] mtd: block2mtd: check device size Fabian Frederick
@ 2014-01-29 10:04 ` Ezequiel Garcia
2014-01-29 12:51 ` Fabian Frederick
0 siblings, 1 reply; 6+ messages in thread
From: Ezequiel Garcia @ 2014-01-29 10:04 UTC (permalink / raw)
To: Fabian Frederick, Brian Norris
Cc: joern, akpm, rdunlap, linux-mtd, linux-kernel
Hi Fabian,
I saw you sent a v2 for one of the patches on this series,
but maybe this is worth considering too.
On Thu, Jan 23, 2014 at 08:53:31PM +0100, Fabian Frederick wrote:
[..]
> -/* FIXME: ensure that mtd->size % erase_size == 0 */
> static struct block2mtd_dev *add_device(char *devname, int erase_size)
> {
> const fmode_t mode = FMODE_READ | FMODE_WRITE | FMODE_EXCL;
> @@ -250,6 +249,11 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size)
> goto devinit_err1;
> }
>
> + if ((long)dev->blkdev->bd_inode->i_size % erase_size) {
> + pr_err("erasesize muse be a divisor of device size\n");
> + goto devinit_err1;
> + }
> +
Brian: What do you think?
Fabian: Have you tested this patch? Can you elaborate a bit more about
the effect it would have, compared to the current behavior?
--
Ezequiel García, Free Electrons
Embedded Linux, Kernel and Android Engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 3/4] mtd: block2mtd: check device size
2014-01-29 10:04 ` Ezequiel Garcia
@ 2014-01-29 12:51 ` Fabian Frederick
2014-03-06 8:54 ` Brian Norris
0 siblings, 1 reply; 6+ messages in thread
From: Fabian Frederick @ 2014-01-29 12:51 UTC (permalink / raw)
To: Ezequiel Garcia
Cc: rdunlap, joern, linux-kernel, linux-mtd, akpm, Brian Norris
On Wed, 29 Jan 2014 07:04:25 -0300
Ezequiel Garcia <ezequiel.garcia@free-electrons.com> wrote:
> Hi Fabian,
>
> I saw you sent a v2 for one of the patches on this series,
> but maybe this is worth considering too.
>
> On Thu, Jan 23, 2014 at 08:53:31PM +0100, Fabian Frederick wrote:
> [..]
> > -/* FIXME: ensure that mtd->size % erase_size == 0 */
> > static struct block2mtd_dev *add_device(char *devname, int erase_size)
> > {
> > const fmode_t mode = FMODE_READ | FMODE_WRITE | FMODE_EXCL;
> > @@ -250,6 +249,11 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size)
> > goto devinit_err1;
> > }
> >
> > + if ((long)dev->blkdev->bd_inode->i_size % erase_size) {
> > + pr_err("erasesize muse be a divisor of device size\n");
> > + goto devinit_err1;
> > + }
> > +
>
> Brian: What do you think?
>
> Fabian: Have you tested this patch? Can you elaborate a bit more about
> the effect it would have, compared to the current behavior?
Hi Ezequiel,
This patch was tested with the following commands :
rmmod block2mtd;modprobe block2mtd block2mtd=/dev/loop0,<erasesize>;dmesg
with both correct and incorrect values.It tries to address the fixme
comment above the function.
(/* FIXME: ensure that mtd->size % erase_size == 0 */)
From what I understand, global size must be a multiple of
erase_size when it comes to any MTD I/O operations. If Brian finds this one
interesting I can repost it with current error names against l2-mtd.git/next
AFAICS, current behavior let any value work...
PS : This would need further testing (eg boot command).
Regards,
Fabian
> --
> Ezequiel García, Free Electrons
> Embedded Linux, Kernel and Android Engineering
> http://free-electrons.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 3/4] mtd: block2mtd: check device size
2014-01-29 12:51 ` Fabian Frederick
@ 2014-03-06 8:54 ` Brian Norris
2014-03-06 10:13 ` Fabian Frederick
2014-03-06 11:20 ` Ezequiel Garcia
0 siblings, 2 replies; 6+ messages in thread
From: Brian Norris @ 2014-03-06 8:54 UTC (permalink / raw)
To: Fabian Frederick
Cc: rdunlap, joern, linux-kernel, linux-mtd, Ezequiel Garcia, akpm
Hi,
On Wed, Jan 29, 2014 at 08:51:05PM +0800, Fabian Frederick wrote:
> On Wed, 29 Jan 2014 07:04:25 -0300 Ezequiel Garcia <ezequiel.garcia@free-electrons.com> wrote:
> > I saw you sent a v2 for one of the patches on this series,
> > but maybe this is worth considering too.
> >
> > On Thu, Jan 23, 2014 at 08:53:31PM +0100, Fabian Frederick wrote:
> > [..]
> > > -/* FIXME: ensure that mtd->size % erase_size == 0 */
> > > static struct block2mtd_dev *add_device(char *devname, int erase_size)
> > > {
> > > const fmode_t mode = FMODE_READ | FMODE_WRITE | FMODE_EXCL;
> > > @@ -250,6 +249,11 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size)
> > > goto devinit_err1;
> > > }
> > >
> > > + if ((long)dev->blkdev->bd_inode->i_size % erase_size) {
> > > + pr_err("erasesize muse be a divisor of device size\n");
> > > + goto devinit_err1;
> > > + }
> > > +
> >
> > Brian: What do you think?
> >
> > Fabian: Have you tested this patch? Can you elaborate a bit more about
> > the effect it would have, compared to the current behavior?
>
> Hi Ezequiel,
>
> This patch was tested with the following commands :
>
> rmmod block2mtd;modprobe block2mtd block2mtd=/dev/loop0,<erasesize>;dmesg
>
> with both correct and incorrect values.It tries to address the fixme
> comment above the function.
> (/* FIXME: ensure that mtd->size % erase_size == 0 */)
>
> From what I understand, global size must be a multiple of
> erase_size when it comes to any MTD I/O operations. If Brian finds this one
> interesting I can repost it with current error names against l2-mtd.git/next
I'm not sure block2mtd would have many users, but the hunk above looks
reasonable. Feel free to send a patch.
> AFAICS, current behavior let any value work...
I bet this doesn't work out too well in the end. Maybe I'll give this a
whirl just to see.
> PS : This would need further testing (eg boot command).
Brian
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 3/4] mtd: block2mtd: check device size
2014-03-06 8:54 ` Brian Norris
@ 2014-03-06 10:13 ` Fabian Frederick
2014-03-06 11:20 ` Ezequiel Garcia
1 sibling, 0 replies; 6+ messages in thread
From: Fabian Frederick @ 2014-03-06 10:13 UTC (permalink / raw)
To: Brian Norris
Cc: rdunlap, joern, linux-kernel, linux-mtd, Ezequiel Garcia, akpm
On Thu, 6 Mar 2014 00:54:22 -0800
Brian Norris <computersforpeace@gmail.com> wrote:
> Hi,
>
> On Wed, Jan 29, 2014 at 08:51:05PM +0800, Fabian Frederick wrote:
> > On Wed, 29 Jan 2014 07:04:25 -0300 Ezequiel Garcia <ezequiel.garcia@free-electrons.com> wrote:
> > > I saw you sent a v2 for one of the patches on this series,
> > > but maybe this is worth considering too.
> > >
> > > On Thu, Jan 23, 2014 at 08:53:31PM +0100, Fabian Frederick wrote:
> > > [..]
> > > > -/* FIXME: ensure that mtd->size % erase_size == 0 */
> > > > static struct block2mtd_dev *add_device(char *devname, int erase_size)
> > > > {
> > > > const fmode_t mode = FMODE_READ | FMODE_WRITE | FMODE_EXCL;
> > > > @@ -250,6 +249,11 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size)
> > > > goto devinit_err1;
> > > > }
> > > >
> > > > + if ((long)dev->blkdev->bd_inode->i_size % erase_size) {
> > > > + pr_err("erasesize muse be a divisor of device size\n");
> > > > + goto devinit_err1;
> > > > + }
> > > > +
> > >
> > > Brian: What do you think?
> > >
> > > Fabian: Have you tested this patch? Can you elaborate a bit more about
> > > the effect it would have, compared to the current behavior?
> >
> > Hi Ezequiel,
> >
> > This patch was tested with the following commands :
> >
> > rmmod block2mtd;modprobe block2mtd block2mtd=/dev/loop0,<erasesize>;dmesg
> >
> > with both correct and incorrect values.It tries to address the fixme
> > comment above the function.
> > (/* FIXME: ensure that mtd->size % erase_size == 0 */)
> >
> > From what I understand, global size must be a multiple of
> > erase_size when it comes to any MTD I/O operations. If Brian finds this one
> > interesting I can repost it with current error names against l2-mtd.git/next
>
> I'm not sure block2mtd would have many users, but the hunk above looks
> reasonable. Feel free to send a patch.
Hi Brian,
I just send a patch v2 based on linux-next to avoid conflicts with my previous commit about
mutex management in the same function and still staging there.
Fabian
>
> > AFAICS, current behavior let any value work...
>
> I bet this doesn't work out too well in the end. Maybe I'll give this a
> whirl just to see.
>
> > PS : This would need further testing (eg boot command).
>
> Brian
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 3/4] mtd: block2mtd: check device size
2014-03-06 8:54 ` Brian Norris
2014-03-06 10:13 ` Fabian Frederick
@ 2014-03-06 11:20 ` Ezequiel Garcia
1 sibling, 0 replies; 6+ messages in thread
From: Ezequiel Garcia @ 2014-03-06 11:20 UTC (permalink / raw)
To: Brian Norris
Cc: rdunlap, joern, linux-kernel, Fabian Frederick, linux-mtd, akpm
On Mar 06, Brian Norris wrote:
[..]
>
> I'm not sure block2mtd would have many users, but the hunk above looks
> reasonable. Feel free to send a patch.
>
I've bounced you the original patch from Fabian.
--
Ezequiel García, Free Electrons
Embedded Linux, Kernel and Android Engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-03-06 18:12 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-23 19:53 [PATCH 3/4] mtd: block2mtd: check device size Fabian Frederick
2014-01-29 10:04 ` Ezequiel Garcia
2014-01-29 12:51 ` Fabian Frederick
2014-03-06 8:54 ` Brian Norris
2014-03-06 10:13 ` Fabian Frederick
2014-03-06 11:20 ` Ezequiel Garcia
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).