From: Greg Kroah-Hartman Date: Sun, 21 Sep 2025 17:13:04 +0000 (+0200) Subject: 6.6-stable patches X-Git-Tag: v6.1.154~22 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6082b47db579b4d56bcfdee1654665a34c0ea6b5;p=thirdparty%2Fkernel%2Fstable-queue.git 6.6-stable patches added patches: vmxnet3-unregister-xdp-rxq-info-in-the-reset-path.patch --- diff --git a/queue-6.6/series b/queue-6.6/series index 28e6be9bc7..51808bb50a 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -54,3 +54,4 @@ drm-bridge-anx7625-fix-null-pointer-dereference-with.patch drm-bridge-cdns-mhdp8546-fix-missing-mutex-unlock-on.patch crypto-af_alg-set-merge-to-zero-early-in-af_alg_send.patch smb-client-fix-smbdirect_recv_io-leak-in-smbd_negoti.patch +vmxnet3-unregister-xdp-rxq-info-in-the-reset-path.patch diff --git a/queue-6.6/vmxnet3-unregister-xdp-rxq-info-in-the-reset-path.patch b/queue-6.6/vmxnet3-unregister-xdp-rxq-info-in-the-reset-path.patch new file mode 100644 index 0000000000..63f35b8cae --- /dev/null +++ b/queue-6.6/vmxnet3-unregister-xdp-rxq-info-in-the-reset-path.patch @@ -0,0 +1,59 @@ +From 0dd765fae295832934bf28e45dd5a355e0891ed4 Mon Sep 17 00:00:00 2001 +From: Sankararaman Jayaraman +Date: Thu, 20 Mar 2025 10:25:22 +0530 +Subject: vmxnet3: unregister xdp rxq info in the reset path + +From: Sankararaman Jayaraman + +commit 0dd765fae295832934bf28e45dd5a355e0891ed4 upstream. + +vmxnet3 does not unregister xdp rxq info in the +vmxnet3_reset_work() code path as vmxnet3_rq_destroy() +is not invoked in this code path. So, we get below message with a +backtrace. + +Missing unregister, handled but fix driver +WARNING: CPU:48 PID: 500 at net/core/xdp.c:182 +__xdp_rxq_info_reg+0x93/0xf0 + +This patch fixes the problem by moving the unregister +code of XDP from vmxnet3_rq_destroy() to vmxnet3_rq_cleanup(). + +Fixes: 54f00cce1178 ("vmxnet3: Add XDP support.") +Signed-off-by: Sankararaman Jayaraman +Signed-off-by: Ronak Doshi +Link: https://patch.msgid.link/20250320045522.57892-1-sankararaman.jayaraman@broadcom.com +Signed-off-by: Jakub Kicinski +[ Ajay: Modified to apply on v6.6, v6.12 ] +Signed-off-by: Ajay Kaher +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/vmxnet3/vmxnet3_drv.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +--- a/drivers/net/vmxnet3/vmxnet3_drv.c ++++ b/drivers/net/vmxnet3/vmxnet3_drv.c +@@ -1981,6 +1981,11 @@ vmxnet3_rq_cleanup(struct vmxnet3_rx_que + + rq->comp_ring.gen = VMXNET3_INIT_GEN; + rq->comp_ring.next2proc = 0; ++ ++ if (xdp_rxq_info_is_reg(&rq->xdp_rxq)) ++ xdp_rxq_info_unreg(&rq->xdp_rxq); ++ page_pool_destroy(rq->page_pool); ++ rq->page_pool = NULL; + } + + +@@ -2021,11 +2026,6 @@ static void vmxnet3_rq_destroy(struct vm + } + } + +- if (xdp_rxq_info_is_reg(&rq->xdp_rxq)) +- xdp_rxq_info_unreg(&rq->xdp_rxq); +- page_pool_destroy(rq->page_pool); +- rq->page_pool = NULL; +- + if (rq->data_ring.base) { + dma_free_coherent(&adapter->pdev->dev, + rq->rx_ring[0].size * rq->data_ring.desc_size,