Re: [PATCH 1/1] mtd: nand: add check for out of page read

From: Artem Bityutskiy
Date: Sun Jan 16 2011 - 10:58:50 EST


On Thu, 2010-12-23 at 14:06 +0800, Jason Liu wrote:
> Hi, Artem,
>
> 2010/12/20 Artem Bityutskiy <dedekind1@xxxxxxxxx>:
> > On Wed, 2010-12-15 at 09:55 +0800, Jason Liu wrote:
> >> > /* Do not allow reads past end of device */
> >> > if (unlikely(from >= mtd->size ||
> >> > ops->ooboffs + readlen > ((mtd->size >> chip->page_shift) -
> >> > (from >> chip->page_shift)) * len)) {
> >> > DEBUG(MTD_DEBUG_LEVEL0, "%s: Attempt read beyond end "
> >> > "of device\n", __func__);
> >> > return -EINVAL;
> >> > }
> >>
> >> Here the mtd->size in nand_base.c should be the NAND flash chip size,
> >
> > I think this is partition size as well.
>
> I think you are wrong. This should be the NAND flash chip size not the
> partition size.

Yes, thanks for pointing this.

The patch below fixes the issue you found. I've also pushed this patch
to my l2-mtd-2.6 tree. If you can test it, please, do, but it fixes the
issue when nandsim is used.