[PATCH v2] mtd: rawnand: atmel: Add missing check after DMA map

Thomas Fourier posted 1 patch 3 months, 1 week ago
drivers/mtd/nand/raw/fsmc_nand.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH v2] mtd: rawnand: atmel: Add missing check after DMA map
Posted by Thomas Fourier 3 months, 1 week ago
The DMA map functions can fail and should be tested for errors.

Fixes: 4774fb0a48aa ("mtd: nand/fsmc: Add DMA support")
Signed-off-by: Thomas Fourier <fourier.thomas@gmail.com>
---
v1 -> v2:
- Add stable@vger.kernel.org
- Fix subject prefix
 
 drivers/mtd/nand/raw/fsmc_nand.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/mtd/nand/raw/fsmc_nand.c b/drivers/mtd/nand/raw/fsmc_nand.c
index d579d5dd60d6..df61db8ce466 100644
--- a/drivers/mtd/nand/raw/fsmc_nand.c
+++ b/drivers/mtd/nand/raw/fsmc_nand.c
@@ -503,6 +503,8 @@ static int dma_xfer(struct fsmc_nand_data *host, void *buffer, int len,
 
 	dma_dev = chan->device;
 	dma_addr = dma_map_single(dma_dev->dev, buffer, len, direction);
+	if (dma_mapping_error(dma_dev->dev, dma_addr))
+		return -EINVAL;
 
 	if (direction == DMA_TO_DEVICE) {
 		dma_src = dma_addr;
-- 
2.43.0
Re: [PATCH v2] mtd: rawnand: atmel: Add missing check after DMA map
Posted by Balamanikandan.Gunasundar@microchip.com 3 months, 1 week ago
Wrong subject prefix ?

On 02/07/25 12:28 pm, Thomas Fourier wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> The DMA map functions can fail and should be tested for errors.
> 
> Fixes: 4774fb0a48aa ("mtd: nand/fsmc: Add DMA support")
> Signed-off-by: Thomas Fourier <fourier.thomas@gmail.com>
> ---
> v1 -> v2:
> - Add stable@vger.kernel.org
> - Fix subject prefix
> 
>   drivers/mtd/nand/raw/fsmc_nand.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/mtd/nand/raw/fsmc_nand.c b/drivers/mtd/nand/raw/fsmc_nand.c
> index d579d5dd60d6..df61db8ce466 100644
> --- a/drivers/mtd/nand/raw/fsmc_nand.c
> +++ b/drivers/mtd/nand/raw/fsmc_nand.c
> @@ -503,6 +503,8 @@ static int dma_xfer(struct fsmc_nand_data *host, void *buffer, int len,
> 
>          dma_dev = chan->device;
>          dma_addr = dma_map_single(dma_dev->dev, buffer, len, direction);
> +       if (dma_mapping_error(dma_dev->dev, dma_addr))
> +               return -EINVAL;
> 
>          if (direction == DMA_TO_DEVICE) {
>                  dma_src = dma_addr;
> --
> 2.43.0
> 
> 
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/