mtd: spi-nor: fix silent truncation in spi_nor_read_raw()
authorSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Wed, 30 Oct 2019 18:53:03 +0000 (21:53 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Jan 2020 18:45:52 +0000 (19:45 +0100)
commit 3d63ee5deb466fd66ed6ffb164a87ce36425cf36 upstream.

spi_nor_read_raw() assigns the result of 'ssize_t spi_nor_read_data()'
to the 'int ret' variable, while 'ssize_t' is a 64-bit type and *int*
is a 32-bit type on the 64-bit machines. This silent truncation isn't
really valid, so fix up the variable's type.

Fixes: f384b352cbf0 ("mtd: spi-nor: parse Serial Flash Discoverable Parameters (SFDP) tables")
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mtd/spi-nor/spi-nor.c

index 114f75ec008892f7d682e41ede3b55c88bfb7db9..0fe3e39f870fd99e3bcb4baddb518be42827f329 100644 (file)
@@ -1445,7 +1445,7 @@ static int macronix_quad_enable(struct spi_nor *nor)
  */
 static int write_sr_cr(struct spi_nor *nor, u8 *sr_cr)
 {
-       int ret;
+       ssize_t ret;
 
        write_enable(nor);