| From f2882ec14d581fc0122b9f82802f7fd6e7626f65 Mon Sep 17 00:00:00 2001 |
| From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> |
| Date: Wed, 30 Oct 2019 21:53:03 +0300 |
| Subject: [PATCH] mtd: spi-nor: fix silent truncation in spi_nor_read_raw() |
| |
| 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: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c |
| index 3992f08c6e39..254acf200c42 100644 |
| --- a/drivers/mtd/spi-nor/spi-nor.c |
| +++ b/drivers/mtd/spi-nor/spi-nor.c |
| @@ -2491,7 +2491,7 @@ static int spi_nor_hwcaps_pp2cmd(u32 hwcaps) |
| */ |
| static int spi_nor_read_raw(struct spi_nor *nor, u32 addr, size_t len, u8 *buf) |
| { |
| - int ret; |
| + ssize_t ret; |
| |
| while (len) { |
| ret = nor->read(nor, addr, len, buf); |
| -- |
| 2.7.4 |
| |