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: Leonardo Chiquitto <hidden>
Date: 2012-08-09 19:05:05

quoted hunk ↗ jump to hunk
quoted
quoted
On 8/9/2012 at 03:30 PM, Flavio Leitner [off-list ref] wrote: 
It doesn't make any sense to allow the master to become
its slave. That creates a loop of events causing a crash.

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",
I've tested it here and confirm it prevents the crash.

Tested-by: Leonardo Chiquitto <redacted>

Thanks,
Leonardo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help