]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
net: dsa: rtl8366rb: Fix off-by-one bug
authorLinus Walleij <linus.walleij@linaro.org>
Sat, 25 Sep 2021 22:59:27 +0000 (00:59 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 26 Nov 2021 10:36:07 +0000 (11:36 +0100)
[ Upstream commit 5f5f12f5d4b108399130bb5c11f07765851d9cdb ]

The max VLAN number with non-4K VLAN activated is 15, and the
range is 0..15. Not 16.

The impact should be low since we by default have 4K VLAN and
thus have 4095 VLANs to play with in this switch. There will
not be a problem unless the code is rewritten to only use
16 VLANs.

Fixes: d8652956cf37 ("net: dsa: realtek-smi: Add Realtek SMI driver")
Cc: Mauri Sandberg <sandberg@mailfence.com>
Cc: DENG Qingfang <dqfext@gmail.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Alvin Šipraga <alsi@bang-olufsen.dk>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/dsa/rtl8366rb.c

index 5aefd7a4696a5d98ed345c7e938f28ff4a962d8a..87832e36c3d5ad22ec5b39a900bcb6fee1927992 100644 (file)
@@ -1265,7 +1265,7 @@ static int rtl8366rb_set_mc_index(struct realtek_smi *smi, int port, int index)
 
 static bool rtl8366rb_is_vlan_valid(struct realtek_smi *smi, unsigned int vlan)
 {
-       unsigned int max = RTL8366RB_NUM_VLANS;
+       unsigned int max = RTL8366RB_NUM_VLANS - 1;
 
        if (smi->vlan4k_enabled)
                max = RTL8366RB_NUM_VIDS - 1;