From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mahesh Bandewar Subject: [PATCH next v3 1/6] bonding: Verify RX LACPDU has proper dest mac-addr Date: Wed, 11 Feb 2015 20:24:23 -0800 Message-ID: <1423715063-9191-1-git-send-email-maheshb@google.com> Cc: Mahesh Bandewar , Maciej Zenczykowski , netdev , Eric Dumazet To: Jay Vosburgh , Andy Gospodarek , Veaceslav Falico , Nikolay Aleksandrov , David Miller Return-path: Received: from mail-wg0-f73.google.com ([74.125.82.73]:36344 "EHLO mail-wg0-f73.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753030AbbBLEYc (ORCPT ); Wed, 11 Feb 2015 23:24:32 -0500 Received: by mail-wg0-f73.google.com with SMTP id a1so518879wgh.0 for ; Wed, 11 Feb 2015 20:24:31 -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 --- v1: Initial version v2: Rebase v3: Rebase 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