X-Git-Url: https://git.karo-electronics.de/?p=karo-tx-linux.git;a=blobdiff_plain;f=drivers%2Fmtd%2Fnand%2Fnand_base.c;h=2d9fe18e58c640e9a364ad065cc58360421dd1c4;hp=ec1db1e19c053367c61a5428319c21f49ad44a5d;hb=e8f50fb7b31893a7ee3ff49dcadcb064f499f8fd;hpb=0679f6eecf73275255b0dd31d744ca1843cd5449 diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c index ec1db1e19c05..2d9fe18e58c6 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c @@ -1741,6 +1741,9 @@ static int nand_do_read_oob(struct mtd_info *mtd, loff_t from, else len = mtd->oobsize; + if (len == 0) + return 0; + if (unlikely(ops->ooboffs >= len)) { pr_debug("%s: attempt to start read outside oob\n", __func__); @@ -2409,6 +2412,9 @@ static int nand_do_write_oob(struct mtd_info *mtd, loff_t to, else len = mtd->oobsize; + if (len == 0) + return 0; + /* Do not allow write past end of page */ if ((ops->ooboffs + ops->ooblen) > len) { pr_debug("%s: attempt to write past end of page\n",