Re: [PATCH] powerpc: floppy: Add missing checks after DMA map
From: Christophe Leroy <hidden>
Date: 2025-06-20 07:50:34
Also in:
lkml
Hi Thomas, Le 19/06/2025 à 13:07, Thomas Fourier a écrit :
quoted hunk ↗ jump to hunk
[Vous ne recevez pas souvent de courriers de fourier.thomas@gmail.com. Découvrez pourquoi ceci est important à https://aka.ms/LearnAboutSenderIdentification ] The DMA map functions can fail and should be tested for errors. Signed-off-by: Thomas Fourier <redacted> --- arch/powerpc/include/asm/floppy.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)diff --git a/arch/powerpc/include/asm/floppy.h b/arch/powerpc/include/asm/floppy.h index f8ce178b43b7..df8ce2ae636d 100644 --- a/arch/powerpc/include/asm/floppy.h +++ b/arch/powerpc/include/asm/floppy.h@@ -144,9 +144,14 @@ 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)) { + bus_addr = 0;
bus_addr is a local variable, there is no point in setting it to zero here. Just return -ENOMEM.
+ return -ENOMEM;
+ }
+ }
/* remember this one as prev */
prev_addr = addr;
--
2.43.0