From: Ciara Loftus <ciara.loftus@intel.com>
To: dev@dpdk.org
Cc: Ciara Loftus <ciara.loftus@intel.com>, stable@dpdk.org
Subject: [PATCH v2 2/3] net/iavf: fix event handler leak on init failure
Date: Wed, 4 Nov 2026 09:55:08 +0000 [thread overview]
Message-ID: <20261104095510.10246-3-ciara.loftus@intel.com> (raw)
In-Reply-To: <20261104095510.10246-1-ciara.loftus@intel.com>
iavf_dev_init() takes a reference on the shared event handler, but
does not release it if initialisation subsequently fails. The event
thread and its pipe are then never released.
Release the reference on these error paths. Skip it during reset
recovery, where no reference is taken.
Fixes: cb5c1b91f76f ("net/iavf: add thread for event callbacks")
Cc: stable@dpdk.org
Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
---
drivers/net/intel/iavf/iavf_ethdev.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/net/intel/iavf/iavf_ethdev.c b/drivers/net/intel/iavf/iavf_ethdev.c
index fd1067c252..38bf2e502a 100644
--- a/drivers/net/intel/iavf/iavf_ethdev.c
+++ b/drivers/net/intel/iavf/iavf_ethdev.c
@@ -3089,6 +3089,8 @@ iavf_dev_init(struct rte_eth_dev *eth_dev)
if (iavf_init_vf(eth_dev) != 0) {
PMD_INIT_LOG(ERR, "Init vf failed");
+ if (!rte_atomic_load_explicit(&vf->in_reset_recovery, rte_memory_order_relaxed))
+ iavf_dev_event_handler_fini();
return -1;
}
@@ -3185,6 +3187,9 @@ iavf_dev_init(struct rte_eth_dev *eth_dev)
eth_dev->data->mac_addrs = NULL;
+ if (!rte_atomic_load_explicit(&vf->in_reset_recovery, rte_memory_order_relaxed))
+ iavf_dev_event_handler_fini();
+
init_vf_err:
iavf_uninit_vf(eth_dev);
--
2.43.0
next prev parent reply other threads:[~2026-11-04 9:55 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-04 9:55 [PATCH v2 0/3] iavf reset path fixes Ciara Loftus
2026-11-04 9:55 ` [PATCH v2 1/3] net/iavf: fix crash in Tx drain on PF reset Ciara Loftus
2026-11-04 17:51 ` Bruce Richardson
2026-11-04 9:55 ` Ciara Loftus [this message]
2026-11-04 17:52 ` [PATCH v2 2/3] net/iavf: fix event handler leak on init failure Bruce Richardson
2026-11-04 9:55 ` [PATCH v2 3/3] net/iavf: fix watchdog clearing reset state during recovery Ciara Loftus
2026-11-04 18:00 ` Bruce Richardson
2026-11-05 12:32 ` [PATCH v3 0/4] iavf reset path fixes Ciara Loftus
2026-11-05 12:32 ` [PATCH v3 1/4] net/iavf: fix crash in Tx drain on PF reset Ciara Loftus
2026-11-05 12:32 ` [PATCH v3 2/4] net/iavf: fix event handler leak on init failure Ciara Loftus
2026-11-05 12:32 ` [PATCH v3 3/4] net/iavf: fix watchdog clearing reset state during recovery Ciara Loftus
2026-11-05 12:32 ` [PATCH v3 4/4] net/iavf: fix watchdog enable racing disable Ciara Loftus
2026-11-06 9:40 ` [PATCH v4 0/4] iavf reset path fixes Ciara Loftus
2026-11-06 9:40 ` [PATCH v4 1/4] net/iavf: fix crash in Tx drain on PF reset Ciara Loftus
2026-11-06 9:40 ` [PATCH v4 2/4] net/iavf: fix event handler leak on init failure Ciara Loftus
2026-11-06 9:40 ` [PATCH v4 3/4] net/iavf: fix watchdog clearing reset state during recovery Ciara Loftus
2026-11-10 10:47 ` Bruce Richardson
2026-11-06 9:40 ` [PATCH v4 4/4] net/iavf: fix watchdog enable racing disable Ciara Loftus
2026-11-10 10:48 ` Bruce Richardson
2026-11-10 10:51 ` [PATCH v4 0/4] iavf reset path fixes Bruce Richardson
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=20261104095510.10246-3-ciara.loftus@intel.com \
--to=ciara.loftus@intel.com \
--cc=dev@dpdk.org \
--cc=stable@dpdk.org \
/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