From: nikolay@redhat.com Date: Thu, 11 Apr 2013 09:18:56 +0000 (+0000) Subject: bonding: IFF_BONDING is not stripped on enslave failure X-Git-Tag: v3.2.45~29 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=70c560e9ec8ab16abcb2a7dc5d2e4ff21dec2f95;p=thirdparty%2Fkernel%2Fstable.git bonding: IFF_BONDING is not stripped on enslave failure [ Upstream commit b6a5a7b9a528a8b4c8bec940b607c5dd9102b8cc ] While enslaving a new device and after IFF_BONDING flag is set, in case of failure it is not stripped from the device's priv_flags while cleaning up, which could lead to other problems. Cleaning at err_close because the flag is set after dev_open(). v2: no change Signed-off-by: Nikolay Aleksandrov Signed-off-by: David S. Miller Signed-off-by: Ben Hutchings --- diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 2589e57f92ae6..b436b84de1238 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c @@ -1866,6 +1866,7 @@ err_detach: write_unlock_bh(&bond->lock); err_close: + slave_dev->priv_flags &= ~IFF_BONDING; dev_close(slave_dev); err_unset_master: