All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Tantilov, Emil S" <emil.s.tantilov@intel.com>
To: Tian Xun Ng <luckilystar08@gmail.com>,
	<intel-wired-lan@lists.osuosl.org>
Cc: <netdev@vger.kernel.org>, <anthony.l.nguyen@intel.com>,
	<przemyslaw.kitszel@intel.com>, <aleksander.lobakin@intel.com>,
	<aleksandr.loktionov@intel.com>, <decot@google.com>,
	<milena.olech@intel.com>, <joshua.a.hay@intel.com>,
	<alan.brady@intel.com>, <andrew+netdev@lunn.ch>,
	<davem@davemloft.net>, <edumazet@google.com>, <kuba@kernel.org>,
	<pabeni@redhat.com>, Tian Xun Ng <tianxun.ng@bytedance.com>
Subject: Re: [PATCH iwl-net v5 2/3] idpf: ignore link events once removal has started
Date: Tue, 13 Oct 2026 09:27:21 -0700	[thread overview]
Message-ID: <e798d410-9dce-4206-87f2-5b874bc44ac1@intel.com> (raw)
In-Reply-To: <20261013121224.84482-3-luckilystar08@gmail.com>



On 10/13/2026 5:12 AM, Tian Xun Ng wrote:
> From: Tian Xun Ng <tianxun.ng@bytedance.com>
> 
> mbx_task keeps handling mailbox events while idpf_deinit_task() releases
> the vports: it requeues itself, or is queued from the mailbox interrupt,
> until idpf_vc_core_deinit() cancels it once the vports are gone. A
> VIRTCHNL2_EVENT_LINK_CHANGE event handled in that window looks its vport
> up in adapter->vports[] without a lock, and idpf_vport_dealloc()
> releases the netdev and frees the vport before it clears that slot, so
> idpf_handle_event_link() can follow a NULL netdev pointer or use the
> freed vport.
> 
> Make idpf_handle_event_link() return once IDPF_REMOVE_IN_PROG is set.
> The previous patch waits for a running mbx_task after the bit is set and
> before anything is released, so on remove a link event is either handled
> before the vports are torn down or ignored. Shutdown has the same window
> today; the last patch of this series sets the bit there as well. The
> window also remains on a hard reset, which tears the vports down without
> setting the bit; that path is not changed here.
> 
> Fixes: 02cbfba1add5 ("idpf: add ethtool callbacks")
> Cc: stable@vger.kernel.org
> Assisted-by: LLM
> Signed-off-by: Tian Xun Ng <tianxun.ng@bytedance.com>
> ---
>   drivers/net/ethernet/intel/idpf/idpf_virtchnl.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
> index d0db60647..2cfd216ae 100644
> --- a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
> +++ b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
> @@ -40,6 +40,10 @@ static void idpf_handle_event_link(struct idpf_adapter *adapter,
>   	struct idpf_netdev_priv *np;
>   	struct idpf_vport *vport;
>   
> +	/* The vports are released on remove and shutdown */
> +	if (test_bit(IDPF_REMOVE_IN_PROG, adapter->flags))
> +		return;
> +
>   	vport = idpf_vid_to_vport(adapter, le32_to_cpu(v2e->vport_id));
>   	if (!vport) {
>   		dev_err_ratelimited(&adapter->pdev->dev, "Failed to find vport_id %d for link event\n",

Reviewed-by: Emil Tantilov <emil.s.tantilov@intel.com>

  reply	other threads:[~2026-10-13 16:27 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-13 12:12 [PATCH iwl-net v5 0/3] idpf: destroy the vports on shutdown Tian Xun Ng
2026-10-13 12:12 ` [PATCH iwl-net v5 1/3] idpf: ignore Tx timestamp replies once removal has started Tian Xun Ng
2026-10-13 16:26   ` Tantilov, Emil S
2026-10-13 12:12 ` [PATCH iwl-net v5 2/3] idpf: ignore link events " Tian Xun Ng
2026-10-13 16:27   ` Tantilov, Emil S [this message]
2026-10-13 12:12 ` [PATCH iwl-net v5 3/3] idpf: keep the mailbox up while tearing down vports on shutdown Tian Xun Ng
2026-10-13 16:31   ` Tantilov, Emil S
2026-10-14 12:13   ` sashiko-bot
2026-10-14 13:30     ` Tian Xun Ng

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=e798d410-9dce-4206-87f2-5b874bc44ac1@intel.com \
    --to=emil.s.tantilov@intel.com \
    --cc=alan.brady@intel.com \
    --cc=aleksander.lobakin@intel.com \
    --cc=aleksandr.loktionov@intel.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=anthony.l.nguyen@intel.com \
    --cc=davem@davemloft.net \
    --cc=decot@google.com \
    --cc=edumazet@google.com \
    --cc=intel-wired-lan@lists.osuosl.org \
    --cc=joshua.a.hay@intel.com \
    --cc=kuba@kernel.org \
    --cc=luckilystar08@gmail.com \
    --cc=milena.olech@intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=przemyslaw.kitszel@intel.com \
    --cc=tianxun.ng@bytedance.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.