From patchwork Tue Dec 4 17:05:42 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matteo Croce X-Patchwork-Id: 1007764 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 438StM6zBPz9s47 for ; Wed, 5 Dec 2018 04:05:47 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727204AbeLDRFq (ORCPT ); Tue, 4 Dec 2018 12:05:46 -0500 Received: from mail-wm1-f66.google.com ([209.85.128.66]:36149 "EHLO mail-wm1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726420AbeLDRFq (ORCPT ); Tue, 4 Dec 2018 12:05:46 -0500 Received: by mail-wm1-f66.google.com with SMTP id a18so10149719wmj.1 for ; Tue, 04 Dec 2018 09:05:45 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=3hQBjgGvYulcPpi+TW8P/A9kSPc+NII7vi8Kdywxf4Q=; b=Fagb8J5HV9nj4cUzrtbViuMmI1ZbsF6VWF428Fep3DphKky+pTkbfYEpdcrAavmREu uRu/1PH+IqVaKTsTvpuDOSyBKVvlpQOh0/f6NbNP94DTQ6H1sGcycmuaUMrOjj3nT8Ri EbmZM2ZZQhmaEgHbE2fv2q4EJ1YRb8U9W8H9wCSi0ypsk/CmO+764xZe/tvXNQeyoHI3 64e754L75K1MchCH+4SV+B5StbCqLX3OvUr0UMIFghknyfOdd/pecISXQrTY0r3z8MkP 8eyMKiU+ATsZwmGM38hdeobiLGXrIWflYzfvWAof2Cd7sssOqRTlDaQx6lQAaQ7l0vRW GaJA== X-Gm-Message-State: AA+aEWbfZVk2hPJRILhVEtHpLqos8aBiASV7W8+2HmGIYHcnhlra/tbL OxYuKcJ14YJzuuunJePj6VUd6pfiO6k= X-Google-Smtp-Source: AFSGD/VYnNj83tHmiDlpk+fglKyV+S9mk9/A+BoXjZ6swplfK01Kq99uxv8E7EtdOwGbY5HQxaNhzA== X-Received: by 2002:a1c:2643:: with SMTP id m64mr13046189wmm.22.1543943144312; Tue, 04 Dec 2018 09:05:44 -0800 (PST) Received: from mcroce-redhat.mxp.redhat.com (nat-pool-mxp-t.redhat.com. [149.6.153.186]) by smtp.gmail.com with ESMTPSA id 80sm13290177wmv.6.2018.12.04.09.05.43 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 04 Dec 2018 09:05:43 -0800 (PST) From: Matteo Croce To: netdev@vger.kernel.org Subject: [PATCH net] macvlan: remove duplicate check Date: Tue, 4 Dec 2018 18:05:42 +0100 Message-Id: <20181204170542.4915-1-mcroce@redhat.com> X-Mailer: git-send-email 2.19.2 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Following commit 59f997b088d2 ("macvlan: return correct error value"), there is a duplicate check for mac addresses both in macvlan_sync_address() and macvlan_set_mac_address(). As the former calls the latter, remove the one in macvlan_set_mac_address() and move the one in macvlan_sync_address() before any other check. Signed-off-by: Matteo Croce --- drivers/net/macvlan.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c index 0da3d36b283b..f3361aabdb78 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c @@ -700,14 +700,14 @@ static int macvlan_sync_address(struct net_device *dev, unsigned char *addr) struct macvlan_port *port = vlan->port; int err; + if (macvlan_addr_busy(vlan->port, addr)) + return -EADDRINUSE; + if (!(dev->flags & IFF_UP)) { /* Just copy in the new address */ ether_addr_copy(dev->dev_addr, addr); } else { /* Rehash and update the device filters */ - if (macvlan_addr_busy(vlan->port, addr)) - return -EADDRINUSE; - if (!macvlan_passthru(port)) { err = dev_uc_add(lowerdev, addr); if (err) @@ -747,9 +747,6 @@ static int macvlan_set_mac_address(struct net_device *dev, void *p) return dev_set_mac_address(vlan->lowerdev, addr); } - if (macvlan_addr_busy(vlan->port, addr->sa_data)) - return -EADDRINUSE; - return macvlan_sync_address(dev, addr->sa_data); }