[PATCH 3.16.y-ckt 064/118] net: dsa: Fix off-by-one in switch address parsing
Luis Henriques
luis.henriques at canonical.com
Wed Aug 12 08:56:06 UTC 2015
3.16.7-ckt16 -stable review patch. If anyone has any objections, please let me know.
------------------
From: Florian Fainelli <f.fainelli at gmail.com>
commit c8cf89f73f3d9ecbdea479778f0ac714be79be33 upstream.
cd->sw_addr is used as a MDIO bus address, which cannot exceed
PHY_MAX_ADDR (32), our check was off-by-one.
Fixes: 5e95329b701c ("dsa: add device tree bindings to register DSA switches")
Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
Signed-off-by: Luis Henriques <luis.henriques at canonical.com>
---
net/dsa/dsa.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c
index d3ca32dc167f..a3c70870448f 100644
--- a/net/dsa/dsa.c
+++ b/net/dsa/dsa.c
@@ -418,7 +418,7 @@ static int dsa_of_probe(struct platform_device *pdev)
continue;
cd->sw_addr = be32_to_cpup(sw_addr);
- if (cd->sw_addr > PHY_MAX_ADDR)
+ if (cd->sw_addr >= PHY_MAX_ADDR)
continue;
for_each_available_child_of_node(child, port) {
More information about the kernel-team
mailing list