From patchwork Sun Feb 25 19:59:06 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ido Schimmel X-Patchwork-Id: 877625 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@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=pass (p=none dis=none) header.from=mellanox.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.b="ugxJ4yLs"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zqG5P405gz9s2R for ; Mon, 26 Feb 2018 06:59:53 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751962AbeBYT7u (ORCPT ); Sun, 25 Feb 2018 14:59:50 -0500 Received: from mail-ve1eur01on0067.outbound.protection.outlook.com ([104.47.1.67]:12859 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751762AbeBYT7t (ORCPT ); Sun, 25 Feb 2018 14:59:49 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=OohND7DHdYrfe52ooEBexDXN3fzi4+KvImlSFpKFJQs=; b=ugxJ4yLsFST5PIPYvqfdnnmnsjmD9WjTi5dwnp6v/XQBbQgLVHDef9vyaLidGDGD4pAIZYgTMmrY9D96PlMXRMqZLoV2URmzr/cfDQIyrzknyxQ5xW4bIi76pYmHOAaDYz7pZ0U3TTRVHS57wEGEBymkSS6fLfQK9yrwwRjYDuA= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=idosch@mellanox.com; Received: from localhost.localdomain (5.29.216.175) by AM5PR0501MB2003.eurprd05.prod.outlook.com (2603:10a6:203:1a::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.527.15; Sun, 25 Feb 2018 19:59:43 +0000 From: Ido Schimmel To: netdev@vger.kernel.org, bridge@lists.linux-foundation.org Cc: davem@davemloft.net, nikolay@cumulusnetworks.com, stephen@networkplumber.org, elena.reshetova@intel.com, mlxsw@mellanox.com, Ido Schimmel Subject: [PATCH net] bridge: Fix VLAN reference count problem Date: Sun, 25 Feb 2018 21:59:06 +0200 Message-Id: <20180225195906.26399-1-idosch@mellanox.com> X-Mailer: git-send-email 2.14.3 MIME-Version: 1.0 X-Originating-IP: [5.29.216.175] X-ClientProxiedBy: AM4PR0501CA0051.eurprd05.prod.outlook.com (2603:10a6:200:68::19) To AM5PR0501MB2003.eurprd05.prod.outlook.com (2603:10a6:203:1a::13) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 5229147d-fa35-4a02-eed8-08d57c8a508f X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:AM5PR0501MB2003; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2003; 3:RzPWNGW/nelMXQjiUWf7y1r+C2YOfm1Zg0ku4nC0mzG/L+nb9TSfL2JJcZL7FD6O0BpR7lYrEDV6WimnRyZULlYapa9bTF2f0/RVi1BZ9Fqts7z88tluNsc8xf3NKQhpwhxw39qpU9FY6OcA+GOb5JCLbzgEoj9h1NJ6m+GFd/pMllkEKdGmEiEDibunNc9vY7EYSHem3iFE4M2xgqYQB0yaqIU2PyPzl+3CqVUBQzFjOUel5aprJ2PQiCz/Nx+f; 25:Ube4ddKlUCc6P0/PpgJb/ZqiRaHtBsx1g6fECxWxrxX1YGhKsiKzpVJupJlHp8jgXYZ4tau9jsElCn+MVQar7AVy3nach39slYub7jpMQV9pHXx9h5w8NhEKZ1PVDNK3gXo7KP1SQ4S+WpixVR/qzXkjHD1IBFM0QQNNz1IXRmHPDfCI864CLZPaVbvVwLNqmV0OFrOy3dW6Tm6v55gNj26J4dWfxrH1QiCw6Bbx8qFBoQxj8+rdGdku+cEvQK/8DumDP3YwZspnK7Xwi994Nz6qiGk4Eu/QxpVRUh8hkUitKlL+SU3PZ6/hOeK6wFhS1cldqra8hECKL1APkJoiZg==; 31:AoarTbNow3Pgjmb0mjYf81QeQhHEGY2iHR5O5sCpDyRCS9ZnOg45NhZUY20zWZosNN+jN9fiU2Ly0mKJ61llxSRrFqspU8ip+WQhFYsISI/VfVA8RUdLGHlBQCgPwshPPSULQSW088n9gqh9UDV98g4a/6cFuPwpNNL6BVsywREVnW2H4aYm/JqLxfs2zYRTVxl0ALwCo+FF6O4zD9Ro2qHW1JKgHd0jss9P100Yjwg= X-MS-TrafficTypeDiagnostic: AM5PR0501MB2003: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2003; 20:un9KRBv6saOc6rcBFHkiSK3yyXErBm3wipX97HhX+gf+ex62SccBqHbEqYYVDh64OEqjScIqdlU2+V41CCAqYbjUCN4XroHA+KhXW8X7CXoGcSs3Iz8V1pTebFgYj7i8b/jSec/WMNM10YlxXknP4zyJKS2B9ywRNajLANnKTOD5Nv9+YIRO1bu6w2VS2hJFrsdmQAe+h7Qh6kQnxlEpo25FG98g6/uyxRs4wWFpHloEVndeWne8Igk3hnb7bztRhoDJCIg6FerKlN6cd5i6DGb/TDxrhDWIHpqYOxQMRxJhoEdsbUXY4jZVMwbq1WAZrFOptcXZxYddiJbugjgK8+eUYV+0lsgxnHo7X8vMlMjDOfOg8J8a2uiDAXywA85iTgjXJNu5R3+daxbhOWZjqaNCWjNEo3eKFKEdJy/CwjzIyp4S4T5jc3c+r5xLsBoZk+HUxJDVbehvAHOgt8WxbxKjg6/3CYiqSTxmwW2F9GL3wAWar4odIGsn2OlIoBBC; 4:hrMwyCHalgYwMfLW47Xu0yKwWoaviuDBkmEaB8LyNOnZGxdXdSPjwGWVT9f2apWg6RUnW9nl1fV9YeMKClVWTLoB0Zzu1ST+5CIin2I1P7hoArugLOM+a0jgMqV0rXmzWG0cjgRUVMA8zXjhro6B8tGGtaXBmdN5N/i5vbNGnr1MQYwG3U9YQC/7M4cNzP7PmbH/Ci+Ks8M/nYP9feyK9XTSEZVvcAKMrj+ZWlWyb99TuLeP9LuawhVw6U5KubKgTJ48QHjP9vlQ3JARDv4GlQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040501)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(3231220)(944501161)(52105095)(10201501046)(6055026)(6041288)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123558120)(20161123562045)(6072148)(201708071742011); SRVR:AM5PR0501MB2003; BCL:0; PCL:0; RULEID:; SRVR:AM5PR0501MB2003; X-Forefront-PRVS: 05947791E4 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(366004)(39860400002)(396003)(346002)(39380400002)(376002)(199004)(189003)(305945005)(5660300001)(6666003)(36756003)(7736002)(105586002)(6506007)(26005)(2906002)(386003)(186003)(16526019)(6116002)(3846002)(97736004)(1076002)(52116002)(81166006)(50466002)(81156014)(51416003)(8676002)(48376002)(71446004)(4326008)(53936002)(106356001)(8936002)(50226002)(37156001)(86362001)(478600001)(316002)(25786009)(16586007)(107886003)(68736007)(6486002)(47776003)(66066001)(6512007); DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0501MB2003; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2003; 23:FWtZDiimdmYd1iMUUM17/7rkk97YCS79yCK8WFHwyTI3tg6pNLgsFxlMK2zgWeBrKQq/xF8CN8XTDjNIjg55Ou+SgNjhYUxpemfG4ZGdTdzP0+h6pAvxTAIyxaaWXLTMIHzaX4CBm92YzQmAPsmM3ZMSWGOQrsIrmxAFwu9lYsyoABJfj46pPcCADXoSyz8xscAy+7RBhxxR6LqoUsyw95e9blOEVwoJil5h/s+jBMz31ENvaZhWO6oYvQEOYINDS9pkjHMNTQWkiYDZsYn9f8tvgt6v2DK+Pa+Qra9KvZwHwK/IrjRZ3TqcUpNQtE1vuSqNcxJ2mHBIAOCcQbtEb1Wye343dWBlG9llctF7cxPoxhhW71YRwh/UNyuTc0RTJQsK631ZQWmj9YJdgdAXvJzCvBWoITZiMQ4TF3mBHlJZqiGXSeIJwJwQ7aUllzu7OvPZB8xDanBa05PpDGz0G8KvgAdZXx7WcWy4oXj+790+feRbBvNar2nwE9aqAyP5IZlaf6ZPE8ydxLkaZdMAvQRa53eraRD6LpjIppqete4aeWbqVnHGs4RSwpyL6SkLJPxJ2y2Nv6hcSpufkmwSauv+i3WMW5qEssUEMEGA1uOnu3Aier6QGuyfp7QmJn++BsQykcXShkHClWasEt8VrquMKPSoMN4QUOqqMG39lZ81k8nOSk7xclVHXezQPQIpHmyBYyPQYu7GymeqqUKzRHlTD8VVAUUd6DjN+0ni/pSMHVThZDxZpwaUrPpE6i5xNPEhISgM/ekGjSBgrwpfj+QUtzLwggdw5S2PSWir1/NztloyjFeWt9ImY6JkhOO828pcnDU1a3YQbU02h9SHPBCnqREl9DN2M1jZ4gAGeSBr2nAu88Tl5cECSX4KKMLY4t1Yfn/se2r4brqXmqmYTc2TPbRWuBAQ/oW9v2lavR3TgUG9GiTBnCKyhCtRbtBJFtrTaumh1Wfw3bjQ2pVqCiCQLVQEfYT3tG0LLvqLkXmjif8z7Wz8SUA8R1Ff67N8MVnjigkPalFrv40BGkjO5vCh7OlwQ1FEV7IQiVDOOlXIe3+OzJAWSK7/6DHrw0zccjb8SqTBpI3I+FJpFPWpDRoqtiAeV6PaVGgLidzcM6AadtNz2TTPXN80PjhK1p/F X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2003; 6:famPiWrwr3Fa771wyJwLDew/4sEF4UsfuIJyqpasrw2DmyOrmdX3xkoS2fMx7dQIfNcmsI/mhIQBL4s9d9uBNFgm/ZxXjucP5PwhRXjdH1RmjPlIF+33FYhBYIwCIPoGa9MZFbkTVmBRHUQ9VNV/TtPzegRZVo/zfxmxHzAGH6TllmHO2ZWtDfdVZ5WaxlxOjIGC8MX4rw5xciNUuG0uyMdpWYGxrrPF36rNQlbSAbHV+tpDpUa4nxzZMzF5AO0IhRfCSxuyMYu3QdyTuirk5uWoNhVOw5fwu/NPkHPTOqyNqkHqJGfHC+bG6k0p082+YakTHcEyEHQla0MxsYzUz3kfK8d8MtaMTA017/yPyMM=; 5:1W+x6OT7L0it77CoWYPcb68xJ+dKjUjIFQedI0ScRKRjiNK8SKln6Z1l9akwAK0+g2o6irGv6b1gTB+95vb1vW8Lm+WHEgW65G3vNAavSxkOeiNOou4ciM/6033lyG6ihnBb/NdzkEwEjS34IS4p0TZWCCzav/nxPhkv/IG81sA=; 24:9BEFvG1pOmc1QQzmZjcwi7paNvMqwtJl7CSMlPXt7e9FG1GuqacKvyTLtL6pQui++BqywWoH8HV8AoQxJWLlIX/98782bIW7YRQB8PyONVo=; 7:59lpqVdZ/fJMlggCR4ZcbqLfyP9uUoHYECI3S8f7HXwEHB9UPDx2dQMPHzMYvk50CMFDS2COMWLbSybik5xySo6NF2M/KZgErfXmWYGQGXMJ8Z+61xsGE+60McMclkb4r7WHRhfM2dFkKI9rZUD15/Ui8Op76ZeuIWwpWj4sHxxmEfp1+Qt4DMvd9O25t/wd2U1yPmH7fVV7jE0RHIrPSM8FUBVLPlv3ROwVIANWIGxwWkFeiXI/B+jDSxBonWp4 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Feb 2018 19:59:43.2827 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5229147d-fa35-4a02-eed8-08d57c8a508f X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0501MB2003 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org When a VLAN is added on a port, a reference is taken on the corresponding master VLAN entry. If it does not already exist, then it is created and a reference taken. However, in the second case a reference is not really taken when CONFIG_REFCOUNT_FULL is enabled as refcount_inc() is replaced by refcount_inc_not_zero(). Fix this by using refcount_set() on a newly created master VLAN entry. Fixes: 251277598596 ("net, bridge: convert net_bridge_vlan.refcnt from atomic_t to refcount_t") Signed-off-by: Ido Schimmel Acked-by: Nikolay Aleksandrov --- net/bridge/br_vlan.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/bridge/br_vlan.c b/net/bridge/br_vlan.c index 51935270c651..9896f4975353 100644 --- a/net/bridge/br_vlan.c +++ b/net/bridge/br_vlan.c @@ -168,6 +168,8 @@ static struct net_bridge_vlan *br_vlan_get_master(struct net_bridge *br, u16 vid masterv = br_vlan_find(vg, vid); if (WARN_ON(!masterv)) return NULL; + refcount_set(&masterv->refcnt, 1); + return masterv; } refcount_inc(&masterv->refcnt);