* [PATCH net] bnxt_en: Fix double DMA unmapping for XDP_REDIRECT
@ 2024-08-20 20:34 Michael Chan
2024-08-20 21:47 ` Jacob Keller
2024-08-22 0:40 ` patchwork-bot+netdevbpf
0 siblings, 2 replies; 3+ messages in thread
From: Michael Chan @ 2024-08-20 20:34 UTC (permalink / raw)
To: davem
Cc: netdev, edumazet, kuba, pabeni, bpf, hawk, ast, daniel,
john.fastabend, Somnath Kotur, Andy Gospodarek, Kalesh AP
From: Somnath Kotur <somnath.kotur@broadcom.com>
Remove the dma_unmap_page_attrs() call in the driver's XDP_REDIRECT
code path. This should have been removed when we let the page pool
handle the DMA mapping. This bug causes the warning:
WARNING: CPU: 7 PID: 59 at drivers/iommu/dma-iommu.c:1198 iommu_dma_unmap_page+0xd5/0x100
CPU: 7 PID: 59 Comm: ksoftirqd/7 Tainted: G W 6.8.0-1010-gcp #11-Ubuntu
Hardware name: Dell Inc. PowerEdge R7525/0PYVT1, BIOS 2.15.2 04/02/2024
RIP: 0010:iommu_dma_unmap_page+0xd5/0x100
Code: 89 ee 48 89 df e8 cb f2 69 ff 48 83 c4 08 5b 41 5c 41 5d 41 5e 41 5f 5d 31 c0 31 d2 31 c9 31 f6 31 ff 45 31 c0 e9 ab 17 71 00 <0f> 0b 48 83 c4 08 5b 41 5c 41 5d 41 5e 41 5f 5d 31 c0 31 d2 31 c9
RSP: 0018:ffffab1fc0597a48 EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff99ff838280c8 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffab1fc0597a78 R08: 0000000000000002 R09: ffffab1fc0597c1c
R10: ffffab1fc0597cd3 R11: ffff99ffe375acd8 R12: 00000000e65b9000
R13: 0000000000000050 R14: 0000000000001000 R15: 0000000000000002
FS: 0000000000000000(0000) GS:ffff9a06efb80000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000565c34c37210 CR3: 00000005c7e3e000 CR4: 0000000000350ef0
? show_regs+0x6d/0x80
? __warn+0x89/0x150
? iommu_dma_unmap_page+0xd5/0x100
? report_bug+0x16a/0x190
? handle_bug+0x51/0xa0
? exc_invalid_op+0x18/0x80
? iommu_dma_unmap_page+0xd5/0x100
? iommu_dma_unmap_page+0x35/0x100
dma_unmap_page_attrs+0x55/0x220
? bpf_prog_4d7e87c0d30db711_xdp_dispatcher+0x64/0x9f
bnxt_rx_xdp+0x237/0x520 [bnxt_en]
bnxt_rx_pkt+0x640/0xdd0 [bnxt_en]
__bnxt_poll_work+0x1a1/0x3d0 [bnxt_en]
bnxt_poll+0xaa/0x1e0 [bnxt_en]
__napi_poll+0x33/0x1e0
net_rx_action+0x18a/0x2f0
Fixes: 578fcfd26e2a ("bnxt_en: Let the page pool manage the DMA mapping")
Reviewed-by: Andy Gospodarek <andrew.gospodarek@broadcom.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
---
drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c
index 345681d5007e..f88b641533fc 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c
@@ -297,11 +297,6 @@ bool bnxt_rx_xdp(struct bnxt *bp, struct bnxt_rx_ring_info *rxr, u16 cons,
* redirect is coming from a frame received by the
* bnxt_en driver.
*/
- rx_buf = &rxr->rx_buf_ring[cons];
- mapping = rx_buf->mapping - bp->rx_dma_offset;
- dma_unmap_page_attrs(&pdev->dev, mapping,
- BNXT_RX_PAGE_SIZE, bp->rx_dir,
- DMA_ATTR_WEAK_ORDERING);
/* if we are unable to allocate a new buffer, abort and reuse */
if (bnxt_alloc_rx_data(bp, rxr, rxr->rx_prod, GFP_ATOMIC)) {
--
2.30.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH net] bnxt_en: Fix double DMA unmapping for XDP_REDIRECT
2024-08-20 20:34 [PATCH net] bnxt_en: Fix double DMA unmapping for XDP_REDIRECT Michael Chan
@ 2024-08-20 21:47 ` Jacob Keller
2024-08-22 0:40 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 3+ messages in thread
From: Jacob Keller @ 2024-08-20 21:47 UTC (permalink / raw)
To: Michael Chan, davem
Cc: netdev, edumazet, kuba, pabeni, bpf, hawk, ast, daniel,
john.fastabend, Somnath Kotur, Andy Gospodarek, Kalesh AP
On 8/20/2024 1:34 PM, Michael Chan wrote:
> From: Somnath Kotur <somnath.kotur@broadcom.com>
>
> Remove the dma_unmap_page_attrs() call in the driver's XDP_REDIRECT
> code path. This should have been removed when we let the page pool
> handle the DMA mapping. This bug causes the warning:
>
> WARNING: CPU: 7 PID: 59 at drivers/iommu/dma-iommu.c:1198 iommu_dma_unmap_page+0xd5/0x100
> CPU: 7 PID: 59 Comm: ksoftirqd/7 Tainted: G W 6.8.0-1010-gcp #11-Ubuntu
> Hardware name: Dell Inc. PowerEdge R7525/0PYVT1, BIOS 2.15.2 04/02/2024
> RIP: 0010:iommu_dma_unmap_page+0xd5/0x100
> Code: 89 ee 48 89 df e8 cb f2 69 ff 48 83 c4 08 5b 41 5c 41 5d 41 5e 41 5f 5d 31 c0 31 d2 31 c9 31 f6 31 ff 45 31 c0 e9 ab 17 71 00 <0f> 0b 48 83 c4 08 5b 41 5c 41 5d 41 5e 41 5f 5d 31 c0 31 d2 31 c9
> RSP: 0018:ffffab1fc0597a48 EFLAGS: 00010246
> RAX: 0000000000000000 RBX: ffff99ff838280c8 RCX: 0000000000000000
> RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
> RBP: ffffab1fc0597a78 R08: 0000000000000002 R09: ffffab1fc0597c1c
> R10: ffffab1fc0597cd3 R11: ffff99ffe375acd8 R12: 00000000e65b9000
> R13: 0000000000000050 R14: 0000000000001000 R15: 0000000000000002
> FS: 0000000000000000(0000) GS:ffff9a06efb80000(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 0000565c34c37210 CR3: 00000005c7e3e000 CR4: 0000000000350ef0
> ? show_regs+0x6d/0x80
> ? __warn+0x89/0x150
> ? iommu_dma_unmap_page+0xd5/0x100
> ? report_bug+0x16a/0x190
> ? handle_bug+0x51/0xa0
> ? exc_invalid_op+0x18/0x80
> ? iommu_dma_unmap_page+0xd5/0x100
> ? iommu_dma_unmap_page+0x35/0x100
> dma_unmap_page_attrs+0x55/0x220
> ? bpf_prog_4d7e87c0d30db711_xdp_dispatcher+0x64/0x9f
> bnxt_rx_xdp+0x237/0x520 [bnxt_en]
> bnxt_rx_pkt+0x640/0xdd0 [bnxt_en]
> __bnxt_poll_work+0x1a1/0x3d0 [bnxt_en]
> bnxt_poll+0xaa/0x1e0 [bnxt_en]
> __napi_poll+0x33/0x1e0
> net_rx_action+0x18a/0x2f0
>
> Fixes: 578fcfd26e2a ("bnxt_en: Let the page pool manage the DMA mapping")
> Reviewed-by: Andy Gospodarek <andrew.gospodarek@broadcom.com>
> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
> Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
> Signed-off-by: Michael Chan <michael.chan@broadcom.com>
> ---
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH net] bnxt_en: Fix double DMA unmapping for XDP_REDIRECT
2024-08-20 20:34 [PATCH net] bnxt_en: Fix double DMA unmapping for XDP_REDIRECT Michael Chan
2024-08-20 21:47 ` Jacob Keller
@ 2024-08-22 0:40 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 3+ messages in thread
From: patchwork-bot+netdevbpf @ 2024-08-22 0:40 UTC (permalink / raw)
To: Michael Chan
Cc: davem, netdev, edumazet, kuba, pabeni, bpf, hawk, ast, daniel,
john.fastabend, somnath.kotur, andrew.gospodarek,
kalesh-anakkur.purayil
Hello:
This patch was applied to netdev/net.git (main)
by Jakub Kicinski <kuba@kernel.org>:
On Tue, 20 Aug 2024 13:34:15 -0700 you wrote:
> From: Somnath Kotur <somnath.kotur@broadcom.com>
>
> Remove the dma_unmap_page_attrs() call in the driver's XDP_REDIRECT
> code path. This should have been removed when we let the page pool
> handle the DMA mapping. This bug causes the warning:
>
> WARNING: CPU: 7 PID: 59 at drivers/iommu/dma-iommu.c:1198 iommu_dma_unmap_page+0xd5/0x100
> CPU: 7 PID: 59 Comm: ksoftirqd/7 Tainted: G W 6.8.0-1010-gcp #11-Ubuntu
> Hardware name: Dell Inc. PowerEdge R7525/0PYVT1, BIOS 2.15.2 04/02/2024
> RIP: 0010:iommu_dma_unmap_page+0xd5/0x100
> Code: 89 ee 48 89 df e8 cb f2 69 ff 48 83 c4 08 5b 41 5c 41 5d 41 5e 41 5f 5d 31 c0 31 d2 31 c9 31 f6 31 ff 45 31 c0 e9 ab 17 71 00 <0f> 0b 48 83 c4 08 5b 41 5c 41 5d 41 5e 41 5f 5d 31 c0 31 d2 31 c9
> RSP: 0018:ffffab1fc0597a48 EFLAGS: 00010246
> RAX: 0000000000000000 RBX: ffff99ff838280c8 RCX: 0000000000000000
> RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
> RBP: ffffab1fc0597a78 R08: 0000000000000002 R09: ffffab1fc0597c1c
> R10: ffffab1fc0597cd3 R11: ffff99ffe375acd8 R12: 00000000e65b9000
> R13: 0000000000000050 R14: 0000000000001000 R15: 0000000000000002
> FS: 0000000000000000(0000) GS:ffff9a06efb80000(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 0000565c34c37210 CR3: 00000005c7e3e000 CR4: 0000000000350ef0
> ? show_regs+0x6d/0x80
> ? __warn+0x89/0x150
> ? iommu_dma_unmap_page+0xd5/0x100
> ? report_bug+0x16a/0x190
> ? handle_bug+0x51/0xa0
> ? exc_invalid_op+0x18/0x80
> ? iommu_dma_unmap_page+0xd5/0x100
> ? iommu_dma_unmap_page+0x35/0x100
> dma_unmap_page_attrs+0x55/0x220
> ? bpf_prog_4d7e87c0d30db711_xdp_dispatcher+0x64/0x9f
> bnxt_rx_xdp+0x237/0x520 [bnxt_en]
> bnxt_rx_pkt+0x640/0xdd0 [bnxt_en]
> __bnxt_poll_work+0x1a1/0x3d0 [bnxt_en]
> bnxt_poll+0xaa/0x1e0 [bnxt_en]
> __napi_poll+0x33/0x1e0
> net_rx_action+0x18a/0x2f0
>
> [...]
Here is the summary with links:
- [net] bnxt_en: Fix double DMA unmapping for XDP_REDIRECT
https://git.kernel.org/netdev/net/c/8baeef7616d5
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-08-22 0:40 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-20 20:34 [PATCH net] bnxt_en: Fix double DMA unmapping for XDP_REDIRECT Michael Chan
2024-08-20 21:47 ` Jacob Keller
2024-08-22 0:40 ` patchwork-bot+netdevbpf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).