[Intel-wired-lan] [PATCH iwl-net v2 0/5] i40e: fix PTP work and teardown races
[email protected] Wed, 5 Aug 2026 14:51:27 +0800
| Newsgroups | org.osuosl.intel-wired-lan,org.kernel.vger.netdev |
|---|---|
| Message-ID | <[email protected]> |
From: Xuanqiang Luo <[email protected]> The i40e PTP paths have independent ownership and lifetime races. A Tx timestamp skb can be released concurrently, timestamp configuration can race PTP teardown, reset recovery can rebuild the device during removal, and external timestamp work can outlive the PHC or PF. Split the fixes by invariant so each patch remains independently reviewable. The series is ordered so the external timestamp work fix can rely on the configuration and reset teardown synchronization introduced earlier. --- Changes: v2: Patch 1 (new): - Split Tx timestamp skb ownership into an independent patch and protect the slot across transmit, timeout, interrupt, error, and stop paths. (Simon Horman, Sashiko) - Use ptp_tx_skb as the single source of slot state and verify the skb owner before releasing it from the Tx error path. - Keep the existing enable checks outside ptp_tx_lock so the critical section only covers pending slot ownership. Patch 2 (new): - Serialize the PTP_ENA transition with hardware timestamp configuration so an ioctl cannot re-enable interrupts during teardown. (Sashiko) Patch 3 (new): - Split reset/recovery synchronization from the external timestamp work fix and stop service work before PTP and device teardown. Patch 4 (new): - Move the reset polling replacement into its own patch and use the wait-bit API for reset ownership. (Simon Horman, Sashiko) Patch 5: - Close the configuration gate, then disable external timestamp events and drain the work outside ptp_config_lock before unregistering the PHC. v1: https://lore.kernel.org/all/[email protected]/ Xuanqiang Luo (5): i40e: serialize Tx timestamp skb ownership i40e: serialize timestamp configuration with PTP teardown i40e: synchronize reset recovery with device removal i40e: replace reset polling with wait-bit synchronization i40e: fix races in PTP external timestamp work handling drivers/net/ethernet/intel/i40e/i40e.h | 6 +- drivers/net/ethernet/intel/i40e/i40e_main.c | 37 ++++---- drivers/net/ethernet/intel/i40e/i40e_ptp.c | 95 ++++++++++++++------- drivers/net/ethernet/intel/i40e/i40e_txrx.c | 38 ++++++--- 4 files changed, 120 insertions(+), 56 deletions(-) base-commit: 075b74841bd0065a3bda3440873c747938e69b68 -- 2.43.0