]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/4.4.133/bonding-do-not-allow-rlb-updates-to-invalid-mac.patch
4.14-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 4.4.133 / bonding-do-not-allow-rlb-updates-to-invalid-mac.patch
CommitLineData
d55578af
GKH
1From foo@baz Wed May 16 16:57:32 CEST 2018
2From: Debabrata Banerjee <dbanerje@akamai.com>
3Date: Wed, 9 May 2018 19:32:10 -0400
4Subject: bonding: do not allow rlb updates to invalid mac
5
6From: Debabrata Banerjee <dbanerje@akamai.com>
7
8[ Upstream commit 4fa8667ca3989ce14cf66301fa251544fbddbdd0 ]
9
10Make sure multicast, broadcast, and zero mac's cannot be the output of rlb
11updates, which should all be directed arps. Receive load balancing will be
12collapsed if any of these happen, as the switch will broadcast.
13
14Signed-off-by: Debabrata Banerjee <dbanerje@akamai.com>
15Signed-off-by: David S. Miller <davem@davemloft.net>
16Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
17---
18 drivers/net/bonding/bond_alb.c | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-)
20
21--- a/drivers/net/bonding/bond_alb.c
22+++ b/drivers/net/bonding/bond_alb.c
23@@ -453,7 +453,7 @@ static void rlb_update_client(struct rlb
24 {
25 int i;
26
27- if (!client_info->slave)
28+ if (!client_info->slave || !is_valid_ether_addr(client_info->mac_dst))
29 return;
30
31 for (i = 0; i < RLB_ARP_BURST_SIZE; i++) {