Thread (6 messages) 6 messages, 3 authors, 2026-02-13

Re: [PATCH v3 0/3] net: mscc: ocelot: fix missing lock in ocelot_port_xmit()

From: Vladimir Oltean <vladimir.oltean@nxp.com>
Date: 2026-02-09 08:56:13
Also in: lkml

On Sun, Feb 08, 2026 at 10:55:59PM +0000, Ziyi Guo wrote:
ocelot_port_xmit() calls ocelot_can_inject() and
ocelot_port_inject_frame() without holding the injection group lock.
Both functions contain lockdep_assert_held() for the injection lock,
and the correct caller felix_port_deferred_xmit() properly acquires
the lock using ocelot_lock_inj_grp() before calling these functions.

this v3 splits the fix into a 3-patch series to separate 
refactoring from the behavioral change:

  1/3: Extract the PTP timestamp handling into an ocelot_xmit_timestamp()
       helper so the logic isn't duplicated when the function is split.

  2/3: Split ocelot_port_xmit() into ocelot_port_xmit_fdma() and
       ocelot_port_xmit_inj(), keeping the FDMA and register injection
       code paths fully separate.

  3/3: Add ocelot_lock_inj_grp()/ocelot_unlock_inj_grp() in
       ocelot_port_xmit_inj() to fix the missing lock protection.

Patches 1-2 are pure refactors with no behavioral change.
Patch 3 is the actual bug fix.

v3:
 - Split into 3-patch series per Vladimir's review
 - Separate FDMA and register injection paths into distinct functions
v2:
 - Added Fixes tag
v1:
 - Initial submission
For the series:

Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>

I see you didn't specify the target tree name in the git subject prefix
(see Documentation/process/maintainer-netdev.rst). For the future,
please do so. This patch set should go to 'net'.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help