Commit 4a8bb7e27fbb68da888b55f26defd2855225b2d5
Committed by
David S. Miller
1 parent
596a1b746c
Exists in
master
and in
6 other branches
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: Veaceslav Falico <vfalico@redhat.com> Signed-off-by: Andy Gospodarek <andy@greyhouse.net> Acked-by: Nicolas de Pesloüan <nicolas.2p.debian@free.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
Showing 1 changed file with 7 additions and 0 deletions Side-by-side Diff
drivers/net/bonding/bond_sysfs.c
... | ... | @@ -319,6 +319,13 @@ |
319 | 319 | goto out; |
320 | 320 | } |
321 | 321 | |
322 | + if (bond->slave_cnt > 0) { | |
323 | + pr_err("unable to update mode of %s because it has slaves.\n", | |
324 | + bond->dev->name); | |
325 | + ret = -EPERM; | |
326 | + goto out; | |
327 | + } | |
328 | + | |
322 | 329 | new_value = bond_parse_parm(buf, bond_mode_tbl); |
323 | 330 | if (new_value < 0) { |
324 | 331 | pr_err("%s: Ignoring invalid mode value %.*s.\n", |