[PATCH] nand-bb: fix writing to the end of a .bb device

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Wed Mar 1 07:57:03 PST 2017


As nand_bb_write_buf calls mtd_write(bb->mtd, cur_ofs, now, ...) the
limit that now should be checked against is bb->mtd->size - cur_ofs.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
---
 drivers/mtd/nand/nand-bb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mtd/nand/nand-bb.c b/drivers/mtd/nand/nand-bb.c
index 015f8dc524f3..a1523c3c8992 100644
--- a/drivers/mtd/nand/nand-bb.c
+++ b/drivers/mtd/nand/nand-bb.c
@@ -99,7 +99,7 @@ static int nand_bb_write_buf(struct nand_bb *bb, size_t count)
 	loff_t cur_ofs = bb->offset & ~(BB_WRITEBUF_SIZE - 1);
 
 	while (count) {
-		loff_t max = bb->mtd->size - bb->offset;
+		loff_t max = bb->mtd->size - cur_ofs;
 
 		if (max <= 0)
 			return -ENOSPC;
-- 
2.11.0




More information about the barebox mailing list