Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp3378542ybp; Sun, 6 Oct 2019 10:37:20 -0700 (PDT) X-Google-Smtp-Source: APXvYqxxB2siVFR6AzVA1mjXkr+sKSfteb+3FpK+jx+liW4pb0yioYukCmQ4R+Qj3uN+6r5ObgxV X-Received: by 2002:a05:6402:1251:: with SMTP id l17mr25584478edw.270.1570383440879; Sun, 06 Oct 2019 10:37:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570383440; cv=none; d=google.com; s=arc-20160816; b=I0HT2NSa3/IbHh7QGNlbBegVmPkhExA82ZnQYbPMrVBedJtLXkkwnx9GIZ84SHuqWb /nLE8VmhfNfrGfnSTNA2K0G3dYYegMPE05EGOKXO3Q2aZ6ql8RjrR6ZLYcNZOZq/Ws+Q GtRtk2abfGbrZTla9+AL7xcY7HibzLVAGfc4osG1yMLCLsU1WkOqa543Cu53XPdgO9SD QpSYDXOa61RaCknzGAwHhLaXk5DoP1M1KcEPZaHy40fjn0ar6pXAQEOuPRu1UC1Telgx R3h5WEjpvz6NNPzr9e6Q1cWn3X9+NZnauLeCpMjACL+A1EJU+VE+gcMqpjxAm0cs72eX kZZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=0X4PyE+/A0pzc0nrYoqO3ss0n4+zHg2FYbq6rwTnoCY=; b=vPqha6WOM9XkPCLbyWjJ6XGQrKdYYcg216pPVWfIYKjFQIYsYKMdIY2kPAFLWWlQgM BZso/+eeJ/rGrVMwDtZKQd8gNz2NS4TgBjYod2f4tR7UQSGcZM1alokKBSouoZIaGqng sJuO2wqSeJypTftvGMMAKzzLBLU4CHeuZln7WpY6f/y55ybRVDGQZJ4IH1HEoA6KJJzD UJDaxuqWX5ecZLAZM7wrCN2zXtpufMLQSSWoJULa5Rpevyri1ZETFYCZ5QP96WD57p0E d8NOpVz3AitAtTs8WH3Ty2Vx+PQ4MbDcN3Q2Juk9vY1XChZteQAXlPme9MtaHd4vLb/5 8FCg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=z49iXmmS; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f57si7374284ede.78.2019.10.06.10.36.56; Sun, 06 Oct 2019 10:37:20 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=z49iXmmS; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729044AbfJFRd0 (ORCPT + 99 others); Sun, 6 Oct 2019 13:33:26 -0400 Received: from mail.kernel.org ([198.145.29.99]:60010 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729179AbfJFRdX (ORCPT ); Sun, 6 Oct 2019 13:33:23 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id A98C82080F; Sun, 6 Oct 2019 17:33:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1570383203; bh=qbJambDLBU2iCC1IS1jCXXoXh7F8TMycRq4h3giH+D8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=z49iXmmS3BC3N22WWCbSyN7H55SB3YjY8gf2kAUD1QQiOZQweSBaZjSPtMohZD+lo yw1KcsP2zDSYJH7KM/LZI+OvHgctkD2EDtrwDaUWBcsO9LYJLu5/9rqRv8z9YF80aD qWvPNsbsAf2I6l8OfZmyTh7C4gA/OHoJgZOLdPjk= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Linus Walleij , "David S. Miller" Subject: [PATCH 5.2 018/137] net: dsa: rtl8366: Check VLAN ID and not ports Date: Sun, 6 Oct 2019 19:20:02 +0200 Message-Id: <20191006171210.902717793@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191006171209.403038733@linuxfoundation.org> References: <20191006171209.403038733@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Linus Walleij [ Upstream commit e8521e53cca584ddf8ec4584d3c550a6c65f88c4 ] There has been some confusion between the port number and the VLAN ID in this driver. What we need to check for validity is the VLAN ID, nothing else. The current confusion came from assigning a few default VLANs for default routing and we need to rewrite that properly. Instead of checking if the port number is a valid VLAN ID, check the actual VLAN IDs passed in to the callback one by one as expected. Fixes: d8652956cf37 ("net: dsa: realtek-smi: Add Realtek SMI driver") Signed-off-by: Linus Walleij Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/dsa/rtl8366.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) --- a/drivers/net/dsa/rtl8366.c +++ b/drivers/net/dsa/rtl8366.c @@ -339,10 +339,12 @@ int rtl8366_vlan_prepare(struct dsa_swit const struct switchdev_obj_port_vlan *vlan) { struct realtek_smi *smi = ds->priv; + u16 vid; int ret; - if (!smi->ops->is_vlan_valid(smi, port)) - return -EINVAL; + for (vid = vlan->vid_begin; vid < vlan->vid_end; vid++) + if (!smi->ops->is_vlan_valid(smi, vid)) + return -EINVAL; dev_info(smi->dev, "prepare VLANs %04x..%04x\n", vlan->vid_begin, vlan->vid_end); @@ -370,8 +372,9 @@ void rtl8366_vlan_add(struct dsa_switch u16 vid; int ret; - if (!smi->ops->is_vlan_valid(smi, port)) - return; + for (vid = vlan->vid_begin; vid < vlan->vid_end; vid++) + if (!smi->ops->is_vlan_valid(smi, vid)) + return; dev_info(smi->dev, "add VLAN on port %d, %s, %s\n", port,