From: Florian Fainelli Date: Mon, 21 Jan 2013 09:58:51 +0000 (+0000) Subject: dsa: make dsa_switch_setup check for valid port names X-Git-Tag: v3.12-rc1~1418^2~302^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f9bf5a2ca6cc331f32e3dd9cf16ced7215d0e6e8;p=kernel%2Fkernel-generic.git dsa: make dsa_switch_setup check for valid port names This patch changes dsa_switch_setup() to ensure that at least one valid valid port name is specified and will bail out with an error in case we walked the maximum number of port with a valid port name found. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller --- diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c index 45295ca..2bc62ea 100644 --- a/net/dsa/dsa.c +++ b/net/dsa/dsa.c @@ -80,6 +80,7 @@ dsa_switch_setup(struct dsa_switch_tree *dst, int index, int ret; char *name; int i; + bool valid_name_found = false; /* * Probe for switch model. @@ -131,8 +132,13 @@ dsa_switch_setup(struct dsa_switch_tree *dst, int index, } else { ds->phys_port_mask |= 1 << i; } + valid_name_found = true; } + if (!valid_name_found && i == DSA_MAX_PORTS) { + ret = -EINVAL; + goto out; + } /* * If the CPU connects to this switch, set the switch tree