All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net v4 0/2] net: ravb: fix PTP clock lifetime
@ 2026-08-11 10:37 Xuanqiang Luo
  2026-08-11 10:37 ` [PATCH net v4 1/2] net: ravb: avoid dereferencing an invalid PTP clock Xuanqiang Luo
  2026-08-11 10:37 ` [PATCH net v4 2/2] net: ravb: serialize PTP clock teardown Xuanqiang Luo
  0 siblings, 2 replies; 3+ messages in thread
From: Xuanqiang Luo @ 2026-08-11 10:37 UTC (permalink / raw)
  To: linux-renesas-soc, netdev, niklas.soderlund, kuba,
	vadim.fedorenko
  Cc: paul, andrew+netdev, davem, edumazet, pabeni, richardcochran,
	masaru.nagai.vx, luoxuanqiang

From: Xuanqiang Luo <luoxuanqiang@kylinos.cn>

This series fixes RAVB PTP clock lifetime handling. It reports a cached PHC
index without accessing the clock pointer and drains PTP interrupts before
unregistering the clock.

Patch 1 caches the PHC index and handles registration failures.

Patch 2 detaches the clock with xchg() and drains the PTP IRQs before
unregistering it.

---
Changes:
v4:
  - Rebase onto Linux 7.2-rc7.
  Patch 1:
  - Cache the PHC index separately instead of locking clock access.
    (Vadim Fedorenko)
  - Reword the subject and update the commit message for the cached PHC
    index approach.
  - Add Vadim Fedorenko's Reviewed-by tag.
  Patch 2:
  - Replace priv->lock serialization with PTP interrupt disabling and IRQ
    draining before unregistering the clock. (Vadim Fedorenko)
  - Use READ_ONCE() and WRITE_ONCE() for lockless clock pointer access and
    xchg() to detach the clock atomically.
  - Track the error and management IRQs and synchronize all IRQs that can
    invoke the PTP handler.
  - Update the commit message to describe the interrupt handler race and
    the new teardown sequence.

v3: https://lore.kernel.org/all/20260806095126.57803-1-xuanqiang.luo@linux.dev/
  Patch 1:
  - Omit Niklas Söderlund's Reviewed-by tag because the implementation he
    reviewed has changed.
  - Describe the NULL pointer dereference before the first open as the most
    likely failure mode in the commit message. (Jakub Kicinski, Sashiko)
  - Normalize PTP clock registration failures to NULL.
    (Jakub Kicinski, Sashiko)
  - Keep hardware timestamping capabilities independent of PHC
    availability. (Jakub Kicinski, Sashiko)
  Patch 2 (new):
  - Serialize PTP clock publication and access with priv->lock, and detach
    the clock before unregistering it. (Jakub Kicinski, Sashiko)

v2: https://lore.kernel.org/all/20260802090750.116215-1-xuanqiang.luo@linux.dev/
  - Only advertise hardware timestamping support when a PHC is available
    (Niklas Söderlund).

v1: https://lore.kernel.org/all/20260731063254.71260-1-xuanqiang.luo@linux.dev/

Xuanqiang Luo (2):
  net: ravb: avoid dereferencing an invalid PTP clock
  net: ravb: serialize PTP clock teardown

 drivers/net/ethernet/renesas/ravb.h      |  3 ++
 drivers/net/ethernet/renesas/ravb_main.c |  9 +++--
 drivers/net/ethernet/renesas/ravb_ptp.c  | 44 ++++++++++++++++++++----
 3 files changed, 47 insertions(+), 9 deletions(-)


base-commit: db2ddb87143519e20a95aa36c60b36107b736a58
-- 
2.43.0

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-08-11 10:39 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-11 10:37 [PATCH net v4 0/2] net: ravb: fix PTP clock lifetime Xuanqiang Luo
2026-08-11 10:37 ` [PATCH net v4 1/2] net: ravb: avoid dereferencing an invalid PTP clock Xuanqiang Luo
2026-08-11 10:37 ` [PATCH net v4 2/2] net: ravb: serialize PTP clock teardown Xuanqiang Luo

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.