Skip to content

Commit e127ce7

Browse files
williamtuPaolo Abeni
authored andcommitted
vmxnet3: Fix missing reserved tailroom
Use rbi->len instead of rcd->len for non-dataring packet. Found issue: XDP_WARN: xdp_update_frame_from_buff(line:278): Driver BUG: missing reserved tailroom WARNING: CPU: 0 PID: 0 at net/core/xdp.c:586 xdp_warn+0xf/0x20 CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W O 6.5.1 #1 RIP: 0010:xdp_warn+0xf/0x20 ... ? xdp_warn+0xf/0x20 xdp_do_redirect+0x15f/0x1c0 vmxnet3_run_xdp+0x17a/0x400 [vmxnet3] vmxnet3_process_xdp+0xe4/0x760 [vmxnet3] ? vmxnet3_tq_tx_complete.isra.0+0x21e/0x2c0 [vmxnet3] vmxnet3_rq_rx_complete+0x7ad/0x1120 [vmxnet3] vmxnet3_poll_rx_only+0x2d/0xa0 [vmxnet3] __napi_poll+0x20/0x180 net_rx_action+0x177/0x390 Reported-by: Martin Zaharinov <[email protected]> Tested-by: Martin Zaharinov <[email protected]> Link: https://lore.kernel.org/netdev/[email protected]/ Fixes: 54f00cc ("vmxnet3: Add XDP support.") Signed-off-by: William Tu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Paolo Abeni <[email protected]>
1 parent 04d9d1f commit e127ce7

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

drivers/net/vmxnet3/vmxnet3_xdp.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -382,12 +382,12 @@ vmxnet3_process_xdp(struct vmxnet3_adapter *adapter,
382382
page = rbi->page;
383383
dma_sync_single_for_cpu(&adapter->pdev->dev,
384384
page_pool_get_dma_addr(page) +
385-
rq->page_pool->p.offset, rcd->len,
385+
rq->page_pool->p.offset, rbi->len,
386386
page_pool_get_dma_dir(rq->page_pool));
387387

388-
xdp_init_buff(&xdp, rbi->len, &rq->xdp_rxq);
388+
xdp_init_buff(&xdp, PAGE_SIZE, &rq->xdp_rxq);
389389
xdp_prepare_buff(&xdp, page_address(page), rq->page_pool->p.offset,
390-
rcd->len, false);
390+
rbi->len, false);
391391
xdp_buff_clear_frags_flag(&xdp);
392392

393393
xdp_prog = rcu_dereference(rq->adapter->xdp_bpf_prog);

0 commit comments

Comments
 (0)