Thread (12 messages) flat view 12 messages, 7 authors, 2012-08-10

Re: [net-next] bonding: don't allow the master to become its slave

From: Jiri Pirko <hidden>
Date: 2012-08-09 19:54:17

Thu, Aug 09, 2012 at 09:03:23PM CEST, bhutchings@solarflare.com wrote:
On Thu, 2012-08-09 at 15:30 -0300, Flavio Leitner wrote:
quoted
It doesn't make any sense to allow the master to become
its slave. That creates a loop of events causing a crash.
What if there are other intermediate devices, e.g. the slave is a VLAN
sub-device of the bond?  And doesn't team also have this problem?
Yes, it does.
I think a more general check for such loops might be required.
I agree.
Ben.
quoted
Reported-by: Leonardo Chiquitto <redacted>
Signed-off-by: Flavio Leitner <redacted>
---
 drivers/net/bonding/bond_main.c | 5 +++++
 1 file changed, 5 insertions(+)
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 6fae5f3..5407b44 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -1505,6 +1505,11 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
 	int link_reporting;
 	int res = 0;
 
+	if (bond_dev == slave_dev) {
+		pr_err("%s: Error: cannot enslave itself.\n", bond_dev->name);
+		return -EINVAL;
+	}
+
 	if (!bond->params.use_carrier && slave_dev->ethtool_ops == NULL &&
 		slave_ops->ndo_do_ioctl == NULL) {
 		pr_warning("%s: Warning: no link monitoring support for %s\n",
-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help