[PATCH v2] mtd: core: always verify OOB offset in mtd_check_oob_ops()
Miquel Raynal
miquel.raynal at bootlin.com
Thu Sep 11 07:05:31 PDT 2025
>> Sorry for the inconvenience.
>>
>>> Gabor, can you check what happens with mtdblock?
>
> My guess from a quick look at the code is that NOR devices have
> mtd->oobsize == 0 and mtd_read() sets ops->ooboffs and ops->ooblen to 0.
> So now that this check is not guarded by if (ops->ooblen), it gets
> triggered for NOR devices on the mtd_read() path and essentially turns
> into an if (0 >= 0), returning -EINVAL.
>
> Maybe a better check is if ((ops->ooboffs + ops->ooblen) >
> mtd_oobavail())?
Interesting, might make sense to do it this way.
Thanks Pratyush for the suggestion, it is worth the try.
Miquèl
More information about the linux-mtd
mailing list