Skip to content

Commit 77ecfa4

Browse files
phx0fergregkh
authored andcommitted
macvlan: fix macvlan_get_size() not reserving space for IFLA_MACVLAN_BC_CUTOFF
[ Upstream commit fa92a77 ] macvlan_get_size() does not account for IFLA_MACVLAN_BC_CUTOFF, but macvlan_fill_info() conditionally includes it when port->bc_cutoff != 1. This causes nla_put_s32() to fail with -EMSGSIZE when the netlink skb runs out of space, triggering a WARN_ON in rtnetlink and preventing the interface from being dumped. The bug can be reproduced with: ip link add macvlan0 link eth0 type macvlan mode bridge ip link set macvlan0 type macvlan bc_cutoff 0 ip -d link show macvlan0 # fails with -EMSGSIZE The bc_cutoff feature was added in commit 954d1fa ("macvlan: Add netlink attribute for broadcast cutoff"), which added the nla_put_s32() call in macvlan_fill_info() but missed adding the corresponding nla_total_size(4) in macvlan_get_size(). A follow-up commit 55cef78 ("macvlan: add forgotten nla_policy for IFLA_MACVLAN_BC_CUTOFF") fixed the missing nla_policy entry but still did not fix the size calculation. Fixes: 954d1fa ("macvlan: Add netlink attribute for broadcast cutoff") Signed-off-by: Dudu Lu <phx0fer@gmail.com> Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev> Reviewed-by: Eric Dumazet <edumazet@google.com> Link: https://patch.msgid.link/20260413085349.73977-1-phx0fer@gmail.com Signed-off-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 8fda517 commit 77ecfa4

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

drivers/net/macvlan.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1678,6 +1678,7 @@ static size_t macvlan_get_size(const struct net_device *dev)
16781678
+ macvlan_get_size_mac(vlan) /* IFLA_MACVLAN_MACADDR */
16791679
+ nla_total_size(4) /* IFLA_MACVLAN_BC_QUEUE_LEN */
16801680
+ nla_total_size(4) /* IFLA_MACVLAN_BC_QUEUE_LEN_USED */
1681+
+ nla_total_size(4) /* IFLA_MACVLAN_BC_CUTOFF */
16811682
);
16821683
}
16831684

0 commit comments

Comments
 (0)