[PATCH net v3 0/3] tipc: fix netlink gate and receive-path bugs

From: Michael Bommarito

Date: Mon Jun 08 2026 - 08:30:53 EST


This is v3 of the public TIPC series. The discovery-message length
patch (was patch 2/4) is dropped: tipc_msg_validate() already rejects
the short messages it was guarding against, so it was redundant. The
remaining three patches are unchanged in behaviour from v2 and address
the receive-path review feedback.

Patch 1 gives the TIPCv2 mutating generic-netlink operations the admin
gate the legacy API already has, so a local unprivileged process can no
longer change TIPC state. Patch 2 drops CONN_ACK messages that
acknowledge more outstanding sends than exist, preventing the
snt_unacked underflow. Patch 3 rejects peer bindings with lower > upper,
which would otherwise leak binding-table memory.

Changes in v3:

- Drop the discovery-message length patch; tipc_msg_validate()
already rejects the short messages it guarded against (Tung Quang
Nguyen).
- Patch 2 (snt_unacked): drop the conn_ack local and test
tsk->snt_unacked against msg_conn_ack() inline (Tung Quang Nguyen).
- Patch 3 (inverted ranges): restructure the declaration block, moving
ua below key at the maintainer's request (Tung Quang Nguyen).

Changes in v2:

- Patch 1 uses GENL_ADMIN_PERM for TIPC_NL_MEDIA_SET and
GENL_UNS_ADMIN_PERM for the netns-scoped mutators.
- Patch 2 validates msg_conn_ack() at the start of the CONN_ACK block
and drops invalid messages instead of capping the value.
- Patch 3 reorders the new u32 declarations in reverse-Xmas-tree order.

Michael Bommarito (3):
tipc: require net admin for TIPCv2 netlink mutators
tipc: prevent snt_unacked underflow on CONN_ACK
tipc: reject inverted service ranges from peer bindings

net/tipc/name_distr.c | 13 +++++++++++--
net/tipc/netlink.c | 12 ++++++++++++
net/tipc/socket.c | 3 +++
3 files changed, 26 insertions(+), 2 deletions(-)


base-commit: e7ae89a0c97ce2b68b0983cd01eda67cf373517d
--
2.53.0