Re: [PATCH net v2] net: bridge: mrp: fix Option TLV length in MRP_Test frames

Nikolay Aleksandrov <[email protected]> Sun, 26 Jul 2026 12:39:58 +0300
Newsgroups dev.linux.lists.bridge,org.kernel.vger.linux-kernel,org.kernel.vger.netdev
Message-ID <amXV7nnXDWaaH68a@penguin>
On Sun, Jul 26, 2026 at 06:26:05AM +0000, David Corvaglia wrote:
> oui is a pointer, so sizeof(oui) is the pointer size. The MRA
> Option TLV thus advertises a wrong length (15 vs 10 on x86_64),
> causing misparsing of the frame on peers. Fix is to replace
> with sizeof(*oui).
> 
> Fixes: f7458934b079 ("net: bridge: mrp: Update the Test frames for MRA")
> Signed-off-by: David Corvaglia <[email protected]>
> ---
> v2: target net and add Fixes header
> v1: https://lore.kernel.org/bridge/[email protected]/
> ---
>  net/bridge/br_mrp.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/net/bridge/br_mrp.c b/net/bridge/br_mrp.c
> index 3f7126a7d720..179d2470b724 100644
> --- a/net/bridge/br_mrp.c
> +++ b/net/bridge/br_mrp.c
> @@ -215,7 +215,7 @@ static struct sk_buff *br_mrp_alloc_test_skb(struct br_mrp *mrp,
>  		struct br_mrp_oui_hdr *oui = NULL;
>  		u8 length;
>  
> -		length = sizeof(*sub_opt) + sizeof(*sub_tlv) + sizeof(oui) +
> +		length = sizeof(*sub_opt) + sizeof(*sub_tlv) + sizeof(*oui) +
>  			MRP_OPT_PADDING;
>  		br_mrp_skb_tlv(skb, BR_MRP_TLV_HEADER_OPTION, length);
>  
> -- 
> 2.55.0
> 

Acked-by: Nikolay Aleksandrov <[email protected]>