]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
dma-mapping: avoid random addr value print out on error path
authorJiri Pirko <jiri@nvidia.com>
Mon, 9 Feb 2026 15:38:05 +0000 (16:38 +0100)
committerSasha Levin <sashal@kernel.org>
Wed, 4 Mar 2026 12:20:53 +0000 (07:20 -0500)
[ Upstream commit 47322c469d4a63ac45b705ca83680671ff71c975 ]

dma_addr is unitialized in dma_direct_map_phys() when swiotlb is forced
and DMA_ATTR_MMIO is set which leads to random value print out in
warning. Fix that by just returning DMA_MAPPING_ERROR.

Fixes: e53d29f957b3 ("dma-mapping: convert dma_direct_*map_page to be phys_addr_t based")
Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20260209153809.250835-2-jiri@resnulli.us
Signed-off-by: Sasha Levin <sashal@kernel.org>
kernel/dma/direct.h

index da2fadf45bcd6c6034f636ef952a4436fcc30364..62f0d9d0ba02ef98740589bb2feaf07c20d1fca8 100644 (file)
@@ -88,7 +88,7 @@ static inline dma_addr_t dma_direct_map_phys(struct device *dev,
 
        if (is_swiotlb_force_bounce(dev)) {
                if (attrs & DMA_ATTR_MMIO)
-                       goto err_overflow;
+                       return DMA_MAPPING_ERROR;
 
                return swiotlb_map(dev, phys, size, dir, attrs);
        }