Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 52e4200a authored by Adrian Hunter's avatar Adrian Hunter Committed by Kyungmin Park
Browse files

[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: default avatarAdrian Hunter <ext-adrian.hunter@nokia.com>
Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
parent 5b4246f1
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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) -