Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52e4200a6da2d98c537b95f7c502ddadf96a6934
Commit:     52e4200a6da2d98c537b95f7c502ddadf96a6934
Parent:     5b4246f1b089746703287fdf422cf15c6d6eff05
Author:     Adrian Hunter <[EMAIL PROTECTED]>
AuthorDate: Tue Feb 6 09:15:39 2007 +0900
Committer:  Kyungmin Park <[EMAIL PROTECTED]>
CommitDate: Tue Feb 6 09:15:39 2007 +0900

    [MTD] OneNAND: Do not allow oob write past end of page
    
    OneNAND can write oob to successive pages, but NAND
    does not do that.  For compatibility, disallow OneNAND
    from writing past the end of the page.
    
    Signed-off-by: Adrian Hunter <[EMAIL PROTECTED]>
    Signed-off-by: Kyungmin Park <[EMAIL PROTECTED]>
---
 drivers/mtd/onenand/onenand_base.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/drivers/mtd/onenand/onenand_base.c 
b/drivers/mtd/onenand/onenand_base.c
index 6df309b..553b24d 100644
--- a/drivers/mtd/onenand/onenand_base.c
+++ b/drivers/mtd/onenand/onenand_base.c
@@ -1186,6 +1186,13 @@ static int onenand_do_write_oob(struct mtd_info *mtd, 
loff_t to, size_t len,
                return -EINVAL;
        }
 
+       /* For compatibility with NAND: Do not allow write past end of page */
+       if (column + len > oobsize) {
+               DEBUG(MTD_DEBUG_LEVEL0, "onenand_write_oob: "
+                     "Attempt to write past end of page\n");
+               return -EINVAL;
+       }
+
        /* Do not allow reads past end of device */
        if (unlikely(to >= mtd->size ||
                     column + len > ((mtd->size >> this->page_shift) -
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to