Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4a8bb7e2 authored by Veaceslav Falico's avatar Veaceslav Falico Committed by David S. Miller
Browse files

bonding: Don't allow mode change via sysfs with slaves present



When changing mode via bonding's sysfs, the slaves are not initialized
correctly. Forbid to change modes with slaves present to ensure that every
slave is initialized correctly via bond_enslave().

Signed-off-by: default avatarVeaceslav Falico <vfalico@redhat.com>
Signed-off-by: default avatarAndy Gospodarek <andy@greyhouse.net>
Acked-by: default avatarNicolas de Pesloüan <nicolas.2p.debian@free.fr>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 596a1b74
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -319,6 +319,13 @@ static ssize_t bonding_store_mode(struct device *d,
		goto out;
	}

	if (bond->slave_cnt > 0) {
		pr_err("unable to update mode of %s because it has slaves.\n",
			bond->dev->name);
		ret = -EPERM;
		goto out;
	}

	new_value = bond_parse_parm(buf, bond_mode_tbl);
	if (new_value < 0)  {
		pr_err("%s: Ignoring invalid mode value %.*s.\n",