[PATCH net-next v3 0/4] net: hsr: address functional and concurrency bugs

luka.gejak@linux.dev posted 4 patches 3 days, 21 hours ago
net/hsr/hsr_device.c   | 32 +++++++++++++++++---------------
net/hsr/hsr_forward.c  |  2 +-
net/hsr/hsr_framereg.c | 38 ++++++++++++++++++++++++++++++++++++--
net/hsr/hsr_netlink.c  |  7 ++++++-
4 files changed, 60 insertions(+), 19 deletions(-)
[PATCH net-next v3 0/4] net: hsr: address functional and concurrency bugs
Posted by luka.gejak@linux.dev 3 days, 21 hours ago
From: Luka Gejak <luka.gejak@linux.dev>

Changes in v3:
 - addressed Felix review feedback in the VLAN add unwind fix
 - removed the superfluous empty line

Changes in v2:
 - picked up Reviewed-by tags on patches 1, 3 and 4
 - changes in patch 2 per advice of Felix Maurer

This series addresses four logic bugs in the HSR/PRP implementation 
identified during a protocol audit.

The primary change resolves a race condition in the node merging path by
implementing address-based lock ordering. This ensures that concurrent
mutations of sequence blocks do not lead to state corruption or  
deadlocks.

Additional fixes include correcting asymmetric VLAN error unwinding,
enforcing strict supervision frame TLV validation, and improving Netlink
error reporting for invalid interlink attributes.

Luka Gejak (4):
  net: hsr: serialize seq_blocks merge across nodes
  net: hsr: fix VLAN add unwind on slave errors
  net: hsr: require valid EOT supervision TLV
  net: hsr: reject unresolved interlink ifindex

 net/hsr/hsr_device.c   | 32 +++++++++++++++++---------------
 net/hsr/hsr_forward.c  |  2 +-
 net/hsr/hsr_framereg.c | 38 ++++++++++++++++++++++++++++++++++++--
 net/hsr/hsr_netlink.c  |  7 ++++++-
 4 files changed, 60 insertions(+), 19 deletions(-)

-- 
2.53.0
Re: [PATCH net-next v3 0/4] net: hsr: address functional and concurrency bugs
Posted by Jakub Kicinski 1 day, 6 hours ago
On Sun, 29 Mar 2026 13:23:09 +0200 luka.gejak@linux.dev wrote:
> This series addresses four logic bugs in the HSR/PRP implementation 
> identified during a protocol audit.
> 
> The primary change resolves a race condition in the node merging path by
> implementing address-based lock ordering. This ensures that concurrent
> mutations of sequence blocks do not lead to state corruption or  
> deadlocks.
> 
> Additional fixes include correcting asymmetric VLAN error unwinding,
> enforcing strict supervision frame TLV validation, and improving Netlink
> error reporting for invalid interlink attributes.

I think that patches 1 and 2 need to go to net with a Fixes tag.
They look like run of the mill bug fixes. 3 and 4 are logical
fixes and change behavior so net-next makes sense.

FWIW AI has something to say about patch 3, I did not investigate:
https://sashiko.dev/#/patchset/20260329112313.17164-2-luka.gejak@linux.dev
-- 
pw-bot: cr