CVE-2025-37896 Information

Description

In the Linux kernel the following vulnerability has been resolved:

spi: spi-mem: Add fix to avoid divide error

For some SPI flash memory operations dummy bytes are not mandatory. For example in Winbond SPINAND flash memory devices the write_cache and update_cache operation variants have zero dummy bytes. Calculating the duration for SPI memory operations with zero dummy bytes causes a divide error when ncycles is calculated in the spi_mem_calc_op_duration().

Add changes to skip the ’ncylcles’ calculation for zero dummy bytes.

Following divide error is fixed by this change:

Oops: divide error: 0000 [1] PREEMPT SMP NOPTI …

? do_trap+0xdb/0x100 ? do_error_trap+0x75/0xb0 ? spi_mem_calc_op_duration+0x56/0xb0 ? exc_divide_error+0x3b/0x70 ? spi_mem_calc_op_duration+0x56/0xb0 ? asm_exc_divide_error+0x1b/0x20 ? spi_mem_calc_op_duration+0x56/0xb0 ? spinand_select_op_variant+0xee/0x190 [spinand] spinand_match_and_init+0x13e/0x1a0 [spinand] spinand_manufacturer_match+0x6e/0xa0 [spinand] spinand_probe+0x357/0x7f0 [spinand] ? kernfs_activate+0x87/0xd0 spi_mem_probe+0x7a/0xb0 spi_probe+0x7d/0x130

Reference

https://git.kernel.org/stable/c/1915dbd67dadc0bb35670c8e28229baa29368d17 https://git.kernel.org/stable/c/8e4d3d8a5e51e07bd0d6cdd81b5e4af79f796927

Share on: