[PATCH] [MTD] OneNAND: Do not allow oob write past end of page

Adrian Hunter ext-adrian.hunter at nokia.com
Thu Feb 8 09:11:56 EST 2007


ext Kyungmin Park wrote:
> BTW, after patch, we got dead code.
> I downloaded oobtest again, re-run it and see that it trigger exception
> code in onenand_do_write_oob
> But it don't touch following codes whether include your patch or not.
> 
>         /* Do not allow write past end of device */
>         if (unlikely(to >= mtd->size ||
>             column + len > ((mtd->size >> this->page_shift) -
>                                 (to >> this->page_shift)) * oobsize)) {
>                 DEBUG(MTD_DEBUG_LEVEL0, "onenand_write_oob: Attempted to
> write past end of device\n");
>                 return -EINVAL;
>         }
> 
> Please check oobtest program.
> 
> Thank you,
> Kyungmin Park
> 
> --
> 
> oobtest: Test 4 of 5
> oobtest: erasing
> oobtest: erased 0
> oobtest: erased 128
> oobtest: Attempting to start write past end of oob
> oobtest: An error is expected...
> oobtest: Error occurred as expected
> oobtest: Attempting to start read past end of oob
> oobtest: An error is expected...
> oobtest: Error occurred as expected
> oobtest: Attempting to write past end of device
> oobtest: An error is expected...
> -> onenand_write_oob: Attempt to write past end of page
> oobtest: Error occurred as expected
> oobtest: Attempting to read past end of device
> oobtest: An error is expected...
> oobtest: error: read past end of device
> oobtest: Attempting to write past end of device
> oobtest: An error is expected...
> -> onenand_write_oob: Attempt to write past end of page
> oobtest: Error occurred as expected
> oobtest: Attempting to read past end of device
> oobtest: An error is expected...
> oobtest: error: read past end of device
> 

Seems ok for me:

oobtest: Attempting to start write past end of oob
oobtest: An error is expected...
onenand_write_oob: Attempted to start write outside oob
oobtest: Error occurred as expected
oobtest: Attempting to start read past end of oob
oobtest: An error is expected...
onenand_read_oob: Attempted to start read outside oob
oobtest: Error occurred as expected
oobtest: Attempting to write past end of device
oobtest: An error is expected...
onenand_write_oob: Attempted to write past end of device
oobtest: Error occurred as expected
oobtest: Attempting to read past end of device
oobtest: An error is expected...
onenand_read_oob: Attempted to read beyond end of device
oobtest: Error occurred as expected
oobtest: Attempting to write past end of device
oobtest: An error is expected...
onenand_write_oob: Attempted to write past end of device
oobtest: Error occurred as expected
oobtest: Attempting to read past end of device
oobtest: An error is expected...
onenand_read_oob: Attempted to read beyond end of device
oobtest: Error occurred as expected





More information about the linux-mtd mailing list