[PATCH] mtd: Fix mtd_check_oob_ops()
Richard Weinberger
richard at nod.at
Sun Dec 17 23:55:48 PST 2017
Am Montag, 18. Dezember 2017, 08:26:28 CET schrieb Miquel Raynal:
> The mtd_check_oob_ops() helper verifies if the operation defined by the
> user is correct.
>
> Fix the check that verifies if the entire requested area exists. This
> check is too restrictive and will fail anytime the last data byte of the
> very last page is included in an operation.
>
> Fixes: 5cdd929da53d ("mtd: Add sanity checks in mtd_write/read_oob()")
> Signed-off-by: Miquel Raynal <miquel.raynal at free-electrons.com>
Thanks for spotting and fixing this, Miquel.
> ---
> drivers/mtd/mtdcore.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c
> index f80e911b8843..73b605577447 100644
> --- a/drivers/mtd/mtdcore.c
> +++ b/drivers/mtd/mtdcore.c
> @@ -1114,7 +1114,7 @@ static int mtd_check_oob_ops(struct mtd_info *mtd,
> loff_t offs, if (!ops->oobbuf)
> ops->ooblen = 0;
>
> - if (offs < 0 || offs + ops->len >= mtd->size)
> + if (offs < 0 || offs + ops->len > mtd->size)
> return -EINVAL;
>
> if (ops->ooblen) {
Thanks,
//richard
More information about the linux-mtd
mailing list