From: Florian Fainelli Date: Sun, 12 Jul 2015 01:02:11 +0000 (-0700) Subject: net: dsa: Fix off-by-one in switch address parsing X-Git-Tag: v3.16.35~1591 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0e1b541ba2e8c13a0711d62d21eaea2b1aed869f;p=thirdparty%2Fkernel%2Fstable.git net: dsa: Fix off-by-one in switch address parsing 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 Signed-off-by: David S. Miller Signed-off-by: Luis Henriques --- diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c index d3ca32dc167f2..a3c70870448f5 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) {