mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 01:55:51 +02:00
net: hsr: require valid EOT supervision TLV
Supervision frames are only valid if terminated with a zero-length EOT TLV. The current check fails to reject non-EOT entries as the terminal TLV, potentially allowing malformed supervision traffic. Fix this by strictly requiring the terminal TLV to be HSR_TLV_EOT with a length of zero. Signed-off-by: Luka Gejak <luka.gejak@linux.dev> Reviewed-by: Fernando Fernandez Mancera <fmancera@suse.de> Link: https://patch.msgid.link/20260523130420.62144-1-luka.gejak@linux.dev Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
09cfce83e8
commit
46d111a3ef
|
|
@ -110,7 +110,7 @@ static bool is_supervision_frame(struct hsr_priv *hsr, struct sk_buff *skb)
|
|||
}
|
||||
|
||||
/* end of tlvs must follow at the end */
|
||||
if (hsr_sup_tlv->HSR_TLV_type == HSR_TLV_EOT &&
|
||||
if (hsr_sup_tlv->HSR_TLV_type != HSR_TLV_EOT ||
|
||||
hsr_sup_tlv->HSR_TLV_length != 0)
|
||||
return false;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user