From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mahesh Bandewar Subject: [PATCH next 1/6] bonding: Verify RX LACPDU has proper dest mac-addr Date: Fri, 6 Feb 2015 16:51:47 -0800 Message-ID: <1423270307-9139-1-git-send-email-maheshb@google.com> Cc: Mahesh Bandewar , netdev , Eric Dumazet To: Jay Vosburgh , Andy Gospodarek , Veaceslav Falico , Nikolay Aleksandrov , David Miller Return-path: Received: from mail-qg0-f74.google.com ([209.85.192.74]:54866 "EHLO mail-qg0-f74.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752490AbbBGA45 (ORCPT ); Fri, 6 Feb 2015 19:56:57 -0500 Received: by mail-qg0-f74.google.com with SMTP id l89so1458419qgf.1 for ; Fri, 06 Feb 2015 16:56:56 -0800 (PST) Sender: netdev-owner@vger.kernel.org List-ID: The 802.1AX standard states: "The DA in LACPDUs is the Slow_Protocols_Multicast address." This patch enforces that and drops LACPDUs with destination MAC addresses other than Slow_Protocols_Multicast address Signed-off-by: Mahesh Bandewar --- drivers/net/bonding/bond_3ad.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/bonding/bond_3ad.c b/drivers/net/bonding/bond_3ad.c index cfc4a9c1000a..9b436696b95e 100644 --- a/drivers/net/bonding/bond_3ad.c +++ b/drivers/net/bonding/bond_3ad.c @@ -2485,6 +2485,9 @@ int bond_3ad_lacpdu_recv(const struct sk_buff *skb, struct bonding *bond, if (skb->protocol != PKT_TYPE_LACPDU) return RX_HANDLER_ANOTHER; + if (!MAC_ADDRESS_EQUAL(eth_hdr(skb)->h_dest, lacpdu_mcast_addr)) + return RX_HANDLER_ANOTHER; + lacpdu = skb_header_pointer(skb, 0, sizeof(_lacpdu), &_lacpdu); if (!lacpdu) return RX_HANDLER_ANOTHER; -- 2.2.0.rc0.207.ga3a616c