lkml.org 
[lkml]   [2023]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH v3] mtd: spi-nor: Fix shift-out-of-bounds in spi_nor_set_erase_type
    Date
    On Fri, 03 Feb 2023 09:07:54 +0200, Tudor Ambarus wrote:
    > spi_nor_set_erase_type() was used either to set or to mask out an erase
    > type. When we used it to mask out an erase type a shift-out-of-bounds
    > was hit:
    > UBSAN: shift-out-of-bounds in drivers/mtd/spi-nor/core.c:2237:24
    > shift exponent 4294967295 is too large for 32-bit type 'int'
    >
    > The setting of the size_{shift, mask} and of the opcode are unnecessary
    > when the erase size is zero, as throughout the code just the erase size
    > is considered to determine whether an erase type is supported or not.
    > Setting the opcode to 0xFF was wrong too as nobody guarantees that 0xFF
    > is an unused opcode. Thus when masking out an erase type, just set the
    > erase size to zero. This will fix the shift-out-of-bounds.
    >
    > [...]

    Applied to spi-nor/next, thanks!

    [1/1] mtd: spi-nor: Fix shift-out-of-bounds in spi_nor_set_erase_type
    https://git.kernel.org/mtd/c/f0f0cfdc3a02

    Best regards,
    --
    Tudor Ambarus <tudor.ambarus@linaro.org>

    \
     
     \ /
      Last update: 2023-03-27 00:10    [W:8.165 / U:0.144 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site