From: Taehee Yoo <ap420073@gmail.com>
To: davem@davemloft.net, kuba@kernel.org, pabeni@redhat.com,
edumazet@google.com, andrew+netdev@lunn.ch,
michael.chan@broadcom.com, pavan.chebbi@broadcom.com,
horms@kernel.org, shuah@kernel.org, netdev@vger.kernel.org,
linux-kselftest@vger.kernel.org
Cc: almasrymina@google.com, asml.silence@gmail.com,
willemb@google.com, kaiyuanz@google.com, skhawaja@google.com,
sdf@fomichev.me, gospo@broadcom.com, somnath.kotur@broadcom.com,
dw@davidwei.uk, amritha.nambiar@intel.com,
xuanzhuo@linux.alibaba.com, ap420073@gmail.com
Subject: [PATCH v3 net 6/8] eth: bnxt: fix memory leak in queue reset
Date: Sun, 9 Mar 2025 13:42:17 +0000 [thread overview]
Message-ID: <20250309134219.91670-7-ap420073@gmail.com> (raw)
In-Reply-To: <20250309134219.91670-1-ap420073@gmail.com>
When the queue is reset, the bnxt_alloc_one_tpa_info() is called to
allocate tpa_info for the new queue.
And then the old queue's tpa_info should be removed by the
bnxt_free_one_tpa_info(), but it is not called.
So memory leak occurs.
It adds the bnxt_free_one_tpa_info() in the bnxt_queue_mem_free().
unreferenced object 0xffff888293cc0000 (size 16384):
comm "ncdevmem", pid 2076, jiffies 4296604081
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 40 75 78 93 82 88 ff ff ........@ux.....
40 75 78 93 02 00 00 00 00 00 00 00 00 00 00 00 @ux.............
backtrace (crc 5d7d4798):
___kmalloc_large_node+0x10d/0x1b0
__kmalloc_large_node_noprof+0x17/0x60
__kmalloc_noprof+0x3f6/0x520
bnxt_alloc_one_tpa_info+0x5f/0x300 [bnxt_en]
bnxt_queue_mem_alloc+0x8e8/0x14f0 [bnxt_en]
netdev_rx_queue_restart+0x233/0x620
net_devmem_bind_dmabuf_to_queue+0x2a3/0x600
netdev_nl_bind_rx_doit+0xc00/0x10a0
genl_family_rcv_msg_doit+0x1d4/0x2b0
genl_rcv_msg+0x3fb/0x6c0
netlink_rcv_skb+0x12c/0x360
genl_rcv+0x24/0x40
netlink_unicast+0x447/0x710
netlink_sendmsg+0x712/0xbc0
__sys_sendto+0x3fd/0x4d0
__x64_sys_sendto+0xdc/0x1b0
Fixes: 2d694c27d32e ("bnxt_en: implement netdev_queue_mgmt_ops")
Signed-off-by: Taehee Yoo <ap420073@gmail.com>
---
v3:
- Patch added.
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index bee12d9b57ab..55f553debd3b 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -15539,6 +15539,7 @@ static void bnxt_queue_mem_free(struct net_device *dev, void *qmem)
struct bnxt_ring_struct *ring;
bnxt_free_one_rx_ring_skbs(bp, rxr);
+ bnxt_free_one_tpa_info(bp, rxr);
xdp_rxq_info_unreg(&rxr->xdp_rxq);
--
2.34.1
next prev parent reply other threads:[~2025-03-09 13:43 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-09 13:42 [PATCH v3 net 0/8] eth: bnxt: fix several bugs in the bnxt module Taehee Yoo
2025-03-09 13:42 ` [PATCH v3 net 1/8] eth: bnxt: fix truesize for mb-xdp-pass case Taehee Yoo
2025-03-09 13:42 ` [PATCH v3 net 2/8] eth: bnxt: return fail if interface is down in bnxt_queue_mem_alloc() Taehee Yoo
2025-03-09 21:44 ` Mina Almasry
2025-03-10 2:10 ` Taehee Yoo
2025-03-10 20:30 ` Jakub Kicinski
2025-03-09 13:42 ` [PATCH v3 net 3/8] eth: bnxt: do not use BNXT_VNIC_NTUPLE unconditionally in queue restart logic Taehee Yoo
2025-03-09 13:42 ` [PATCH v3 net 4/8] eth: bnxt: do not update checksum in bnxt_xdp_build_skb() Taehee Yoo
2025-03-10 2:58 ` Somnath Kotur
2025-03-09 13:42 ` [PATCH v3 net 5/8] eth: bnxt: fix kernel panic in the bnxt_get_queue_stats{rx | tx} Taehee Yoo
2025-03-10 2:59 ` Somnath Kotur
2025-03-09 13:42 ` Taehee Yoo [this message]
2025-03-09 13:42 ` [PATCH v3 net 7/8] net: devmem: do not WARN conditionally after netdev_rx_queue_restart() Taehee Yoo
2025-03-09 21:45 ` Mina Almasry
2025-03-09 13:42 ` [PATCH v3 net 8/8] selftests: drv-net: add xdp cases for ping.py Taehee Yoo
2025-03-10 20:40 ` [PATCH v3 net 0/8] eth: bnxt: fix several bugs in the bnxt module patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250309134219.91670-7-ap420073@gmail.com \
--to=ap420073@gmail.com \
--cc=almasrymina@google.com \
--cc=amritha.nambiar@intel.com \
--cc=andrew+netdev@lunn.ch \
--cc=asml.silence@gmail.com \
--cc=davem@davemloft.net \
--cc=dw@davidwei.uk \
--cc=edumazet@google.com \
--cc=gospo@broadcom.com \
--cc=horms@kernel.org \
--cc=kaiyuanz@google.com \
--cc=kuba@kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=michael.chan@broadcom.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=pavan.chebbi@broadcom.com \
--cc=sdf@fomichev.me \
--cc=shuah@kernel.org \
--cc=skhawaja@google.com \
--cc=somnath.kotur@broadcom.com \
--cc=willemb@google.com \
--cc=xuanzhuo@linux.alibaba.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).