]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
octeontx2: Fix otx2_dma_map_page() error return code
authorThomas Fourier <fourier.thomas@gmail.com>
Wed, 14 Jan 2026 12:31:06 +0000 (13:31 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 30 Jan 2026 09:27:39 +0000 (10:27 +0100)
commit d998b0e5afffa90d0f03770bad31083767079858 upstream.

0 is a valid DMA address [1] so using it as the error value can lead to
errors.  The error value of dma_map_XXX() functions is DMA_MAPPING_ERROR
which is ~0.  The callers of otx2_dma_map_page() use dma_mapping_error()
to test the return value of otx2_dma_map_page(). This means that they
would not detect an error in otx2_dma_map_page().

Make otx2_dma_map_page() return the raw value of dma_map_page_attrs().

[1] https://lore.kernel.org/all/f977f68b-cec5-4ab7-b4bd-2cf6aca46267@intel.com

Fixes: caa2da34fd25 ("octeontx2-pf: Initialize and config queues")
Cc: <stable@vger.kernel.org>
Signed-off-by: Thomas Fourier <fourier.thomas@gmail.com>
Link: https://patch.msgid.link/20260114123107.42387-2-fourier.thomas@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h

index c5de3ba33e2f0e363fb2d2944fa401a944fc8848..47bfa8f7ca53563e5c38c55739ccee3ae9eb3d80 100644 (file)
@@ -893,13 +893,8 @@ static inline dma_addr_t otx2_dma_map_page(struct otx2_nic *pfvf,
                                           size_t offset, size_t size,
                                           enum dma_data_direction dir)
 {
-       dma_addr_t iova;
-
-       iova = dma_map_page_attrs(pfvf->dev, page,
+       return dma_map_page_attrs(pfvf->dev, page,
                                  offset, size, dir, DMA_ATTR_SKIP_CPU_SYNC);
-       if (unlikely(dma_mapping_error(pfvf->dev, iova)))
-               return (dma_addr_t)NULL;
-       return iova;
 }
 
 static inline void otx2_dma_unmap_page(struct otx2_nic *pfvf,