projects/linux·commit c8cf89f7

net: dsa: Fix off-by-one in switch address parsing

c8cf89f7 · Florian Fainelli <[email protected]> · 2015-07-11 18:02:11 -07:00

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 <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Commit
c8cf89f73f3d9ecbdea479778f0ac714be79be33
Parents
8f5063e9

Changes

1 files changed · +1 −1

FileStatusAddDelContent
net/dsa/dsa.cmodified+1−1View file

net/dsa/dsa.c

View file
diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c
index 52beeb8..b445d49 100644
--- a/net/dsa/dsa.c
+++ b/net/dsa/dsa.c
@@ -630,7 +630,7 @@ static int dsa_of_probe(struct device *dev)
continue;
cd->sw_addr = be32_to_cpup(sw_addr);
- if (cd->sw_addr > PHY_MAX_ADDR)
+ if (cd->sw_addr >= PHY_MAX_ADDR)
continue;
if (!of_property_read_u32(child, "eeprom-length", &eeprom_len))