[PATCH 1/1] mtd: nand: add check for out of page read
Artem Bityutskiy
dedekind1 at gmail.com
Tue Dec 14 10:26:49 EST 2010
On Fri, 2010-11-19 at 16:40 +0800, Jason Liu wrote:
> When run mtd_oobtest case, there will be one error for step(4),
> which turned out it need add one check for out of page read in
> nand_do_read_oob just like mtd_do_write_oob did it already.
> This commit also fix one typo error for comments in mtd_do_write_oob
>
> Signed-off-by: Jason Liu <r64343 at freescale.com>
I cannot reproduce this with nandsim, can you?
I tried:
1. sudo modprobe nandsim
sudo modprobe mtd_oobtest dev=0
2. sudo ./load_nandsim.sh 128 128 2048
sudo modprobe mtd_oobtest dev=0
In both cases the test passes: "mtd_oobtest: finished with 0 errors"
And in 'nand_do_read_oob()' I see the following piece of code:
/* 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;
}
which should handle the case AFAICS.
So, although I did think hard about this, it looks like there is no
problem. What is the kernel version you are looking at? I checked it
with my l2-mtd-2.6.git, which is the latest mtd-2.6.git plus a revert
commit of your patch:
http://git.infradead.org/users/dedekind/l2-mtd-2.6.git
--
Best Regards,
Artem Bityutskiy (Артём Битюцкий)
More information about the linux-mtd
mailing list