[PATCH v2] mtd: core: always verify OOB offset in mtd_check_oob_ops()
Gabor Juhos
j4g8y7 at gmail.com
Thu Sep 11 01:33:48 PDT 2025
Hi Miquel, Santhosh,
2025. 09. 11. 10:00 keltezéssel, Miquel Raynal írta:
> Hello,
>
> On 11/09/2025 at 11:52:27 +0530, Santhosh Kumar K <s-k6 at ti.com> wrote:
>
>> Hello,
>>
>> On 05/09/25 20:25, Miquel Raynal wrote:
>>> On Mon, 01 Sep 2025 16:24:35 +0200, Gabor Juhos wrote:
>>>> Using an OOB offset past end of the available OOB data is invalid,
>>>> irregardless of whether the 'ooblen' is set in the ops or not. Move
>>>> the relevant check out from the if statement to always verify that.
>>>>
>>>> The 'oobtest' module executes four tests to verify how reading/writing
>>>> OOB data past end of the devices is handled. It expects errors in case
>>>> of these tests, but this expectation fails in the last two tests on
>>>> MTD devices, which have no OOB bytes available.
>>>>
>>>> [...]
>>> Applied to mtd/next, thanks!
>>> [1/1] mtd: core: always verify OOB offset in mtd_check_oob_ops()
>>> commit: bf7d0543b2602be5cb450d8ec5a8710787806f88
>>
>> I'm seeing a failure in SPI NOR flashes due to this patch:
>> (Tested on AM62x SK with S28HS512T OSPI NOR flash)
Sorry for the inconvenience.
> Gabor, can you check what happens with mtdblock?
The strange thing is that it works with (SPI) NAND flashes:
# cat /sys/class/mtd/mtd0/type
nand
# cat /sys/class/mtd/mtd0/oobavail
0
#
# hexdump -n 2048 /dev/mtd0
0000000 0f0f 0f0f 0f0f 0f0f 0f0f 0f0f 0f0f 0f0f
*
0000800
#
I will check why it fails with NOR devices.
> Otherwise this will need to be reverted.
Please drop the patch for now, or revert it if dropping not possible.
Either I will send a fixed version, or we will have to live without the change.
Regards,
Gabor
More information about the linux-mtd
mailing list