| From 65f4c1871824c12e615c970818efb33c40a0ee8a Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 20 Jun 2025 09:55:55 +0200 |
| Subject: powerpc: floppy: Add missing checks after DMA map |
| |
| From: Thomas Fourier <fourier.thomas@gmail.com> |
| |
| [ Upstream commit cf183c1730f2634245da35e9b5d53381b787d112 ] |
| |
| The DMA map functions can fail and should be tested for errors. |
| |
| Signed-off-by: Thomas Fourier <fourier.thomas@gmail.com> |
| Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> |
| Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com> |
| Link: https://patch.msgid.link/20250620075602.12575-1-fourier.thomas@gmail.com |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/powerpc/include/asm/floppy.h | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| diff --git a/arch/powerpc/include/asm/floppy.h b/arch/powerpc/include/asm/floppy.h |
| index f8ce178b43b7..34abf8bea2cc 100644 |
| --- a/arch/powerpc/include/asm/floppy.h |
| +++ b/arch/powerpc/include/asm/floppy.h |
| @@ -144,9 +144,12 @@ static int hard_dma_setup(char *addr, unsigned long size, int mode, int io) |
| bus_addr = 0; |
| } |
| |
| - if (!bus_addr) /* need to map it */ |
| + if (!bus_addr) { /* need to map it */ |
| bus_addr = dma_map_single(&isa_bridge_pcidev->dev, addr, size, |
| dir); |
| + if (dma_mapping_error(&isa_bridge_pcidev->dev, bus_addr)) |
| + return -ENOMEM; |
| + } |
| |
| /* remember this one as prev */ |
| prev_addr = addr; |
| -- |
| 2.39.5 |
| |