From patchwork Thu Oct 29 06:17:30 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Scott Feldman X-Patchwork-Id: 537676 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3CB7314110C for ; Thu, 29 Oct 2015 17:14:29 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=n77Rf/36; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756545AbbJ2GOZ (ORCPT ); Thu, 29 Oct 2015 02:14:25 -0400 Received: from mail-pa0-f50.google.com ([209.85.220.50]:34100 "EHLO mail-pa0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750889AbbJ2GOY (ORCPT ); Thu, 29 Oct 2015 02:14:24 -0400 Received: by padhk11 with SMTP id hk11so30630588pad.1 for ; Wed, 28 Oct 2015 23:14:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=269kPI4l4FY8cVHx+soC8sLf+SauPcieHy/hdzPU84s=; b=n77Rf/361VL9+BPdL34HCvXyZkiMI2CD/lXD+8H+Lx9Pw5FWeMNIJTPDOFYOb3gnav IZKWYL0I2/wiEsZp8KxTG7SiWMfo6RjXRNZBQjuKox0IZG842BYgwu4PfOCH/tXfqj2K a2aDYFgbEU3czznlc7ZF2XJmbXyl0d4hystJfMikLU+WnMvrg+st9rgAy2F2bCnJw6kN lMAji5lfwis/N7yvbZbvp8hx1WdOnFjnLdDLUhbxdeiKM9j0NVnpYib1EkdgEkX1AwDW Qgvi+xjYiyP8qym2YW4jUEmR55Z1Fpuw+kxh0NfyPwgxiXRJkcc4kFUBpauAi7yq5B1I WUFw== X-Received: by 10.66.199.69 with SMTP id ji5mr26580pac.10.1446099263494; Wed, 28 Oct 2015 23:14:23 -0700 (PDT) Received: from rocker1.rocker.net ([199.58.98.35]) by smtp.gmail.com with ESMTPSA id iy1sm48844106pbb.85.2015.10.28.23.14.22 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 28 Oct 2015 23:14:22 -0700 (PDT) From: sfeldma@gmail.com To: netdev@vger.kernel.org Cc: jiri@resnulli.us, vivien.didelot@savoirfairelinux.com Subject: [PATCH net-next v4 1/2] switchdev: fix: erasing too much of vlan obj when handling multiple vlan specs Date: Wed, 28 Oct 2015 23:17:30 -0700 Message-Id: <1446099451-62999-1-git-send-email-sfeldma@gmail.com> X-Mailer: git-send-email 1.7.10.4 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Scott Feldman When adding vlans with multiple IFLA_BRIDGE_VLAN_INFO attrs set in AFSPEC, we would wipe the vlan obj struct after the first IFLA_BRIDGE_VLAN_INFO. Fix this by only clearing what's necessary on each IFLA_BRIDGE_VLAN_INFO iteration. Fixes: 9e8f4a54 ("switchdev: push object ID back to object structure") Signed-off-by: Scott Feldman Acked-by: Jiri Pirko --- v3->v4: rebase sync v2->v3: no change v1->v2: add Jiri's Acked-by net/switchdev/switchdev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/switchdev/switchdev.c b/net/switchdev/switchdev.c index 1eb76956..8d3e6c3 100644 --- a/net/switchdev/switchdev.c +++ b/net/switchdev/switchdev.c @@ -866,7 +866,7 @@ static int switchdev_port_br_afspec(struct net_device *dev, err = f(dev, &vlan.obj); if (err) return err; - memset(&vlan, 0, sizeof(vlan)); + vlan.vid_begin = 0; } else { if (vlan.vid_begin) return -EINVAL; @@ -875,7 +875,7 @@ static int switchdev_port_br_afspec(struct net_device *dev, err = f(dev, &vlan.obj); if (err) return err; - memset(&vlan, 0, sizeof(vlan)); + vlan.vid_begin = 0; } }