diff options
| author | Thomas Fourier <fourier.thomas@gmail.com> | 2026-10-15 14:45:46 +0200 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2026-10-20 11:51:49 -0700 |
| commit | 03977f8f1a6322749d91c870b4b4eae2b9cd4ced (patch) | |
| tree | d3317e6b64f58a0549c6fd5282332f9cf5a1cc25 /drivers | |
| parent | 4d0d8f491307f22aea34b22f73351e1cd2ede735 (diff) | |
| download | linux-03977f8f1a6322749d91c870b4b4eae2b9cd4ced.tar.gz linux-03977f8f1a6322749d91c870b4b4eae2b9cd4ced.zip | |
drivers: net: xgene: Fix dma_unmap_single() size
In xgene_enet_refill_bufpool(), the skb->data is dma-mapped with length
len which is set to XGENE_ENET_STD_MTU which equals 1536. However, in
xgene_enet_delete_bufpool(), the same buffer is unmapped with length
XGENE_ENET_MAX_MTU which is 9600. This may erroneously unmap other
DMA buffers or cause other issues.
Change unmap length to XGENE_ENET_STD_MTU.
Cc: stable+noautosel@kernel.org # LLM report + LLM fix, untested
Fixes: a9380b0f7be8 ("drivers: net: xgene: Add support for Jumbo frame")
Signed-off-by: Thomas Fourier <fourier.thomas@gmail.com>
Reviewed-by: Daniel Machon <daniel.machon@microchip.com>
Link: https://patch.msgid.link/20261015124547.29996-2-fourier.thomas@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/net/ethernet/apm/xgene/xgene_enet_main.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/apm/xgene/xgene_enet_main.c b/drivers/net/ethernet/apm/xgene/xgene_enet_main.c index 507db46daf2b..2ddcbf27014e 100644 --- a/drivers/net/ethernet/apm/xgene/xgene_enet_main.c +++ b/drivers/net/ethernet/apm/xgene/xgene_enet_main.c @@ -185,7 +185,7 @@ static void xgene_enet_delete_bufpool(struct xgene_enet_desc_ring *buf_pool) raw_desc = &buf_pool->raw_desc16[i]; dma_addr = GET_VAL(DATAADDR, le64_to_cpu(raw_desc->m1)); - dma_unmap_single(dev, dma_addr, XGENE_ENET_MAX_MTU, + dma_unmap_single(dev, dma_addr, XGENE_ENET_STD_MTU, DMA_FROM_DEVICE); } } |
