[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250529171640.54f1ecc6@kernel.org>
Date: Thu, 29 May 2025 17:16:40 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: Joe Damato <jdamato@...tly.com>
Cc: Jacob Keller <jacob.e.keller@...el.com>, John <john.cs.hey@...il.com>,
"David S. Miller" <davem@...emloft.net>, Eric Dumazet
<edumazet@...gle.com>, Paolo Abeni <pabeni@...hat.com>, Simon Horman
<horms@...nel.org>, netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [Bug] "possible deadlock in rtnl_newlink" in Linux kernel v6.13
On Thu, 29 May 2025 16:50:17 -0700 Joe Damato wrote:
> @@ -1262,6 +1258,11 @@ static void e1000_remove(struct pci_dev *pdev)
> bool disable_dev;
>
> e1000_down_and_stop(adapter);
> +
> + /* Only kill reset task if adapter is not resetting */
> + if (!test_bit(__E1000_RESETTING, &adapter->flags))
> + cancel_work_sync(&adapter->reset_task);
> +
> e1000_release_manageability(adapter);
>
> unregister_netdev(netdev);
LGTM, FWIW.
For extra points you can move it after the unregister_netdev(),
the existing code cancels the work but netdev may still be up
and kick it back in..
Powered by blists - more mailing lists