| From 6c4dab38431fee3d39a841d66ba6f2890b31b005 Mon Sep 17 00:00:00 2001 |
| From: Thomas Fourier <fourier.thomas@gmail.com> |
| Date: Mon, 7 Jul 2025 09:39:37 +0200 |
| Subject: mtd: rawnand: fsmc: Add missing check after DMA map |
| |
| From: Thomas Fourier <fourier.thomas@gmail.com> |
| |
| commit 6c4dab38431fee3d39a841d66ba6f2890b31b005 upstream. |
| |
| The DMA map functions can fail and should be tested for errors. |
| |
| Fixes: 4774fb0a48aa ("mtd: nand/fsmc: Add DMA support") |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Thomas Fourier <fourier.thomas@gmail.com> |
| Rule: add |
| Link: https://lore.kernel.org/stable/20250702065806.20983-2-fourier.thomas%40gmail.com |
| Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/mtd/nand/raw/fsmc_nand.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- 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_dat |
| |
| 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; |