[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1416374292-10993-1-git-send-email-wen.gang.wang@oracle.com>
Date: Wed, 19 Nov 2014 13:18:12 +0800
From: Wengang Wang <wen.gang.wang@...cle.com>
To: wwgwork@...il.com, netdev@...r.kernel.org
Cc: wen.gang.wang@...cle.com
Subject: [PATCH] bonding: clear header_ops when last slave detached (v2)
When last slave of a bonding master is removed, the bonding then does not work.
When packet_snd is called against with a master net_device, it accesses
header_ops. In case the header_ops is not valid any longer(say ipoib module
unloaded), it will then access an invalid memory address.
This patch try to fix this issue by clearing header_ops when last slave
detached.
Signed-off-by: Wengang Wang <wen.gang.wang@...cle.com>
---
drivers/net/bonding/bond_main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index c9ac06c..52a7e4b 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -1730,6 +1730,7 @@ static int __bond_release_one(struct net_device *bond_dev,
bond->slave_cnt--;
if (!bond_has_slaves(bond)) {
+ bond->dev->header_ops = NULL;
call_netdevice_notifiers(NETDEV_CHANGEADDR, bond->dev);
call_netdevice_notifiers(NETDEV_RELEASE, bond->dev);
}
--
1.8.3.1
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists