Subject: [PATCH net-next 3/4] bonding: do not save non-existent device to bond primary in sysfs

From: Ding Tianhong <[email-masked]>
Date: Thu, 9 Jan 2014 19:20:54 +0800

Do not save non-existent device to bond primary in sysfs.

Signed-off-by: Ding Tianhong <[email-masked]>
---
 drivers/net/bonding/bond_options.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/net/bonding/bond_options.c b/drivers/net/bonding/bond_options.c
index 945a666..9b4518f 100644
--- a/drivers/net/bonding/bond_options.c
+++ b/drivers/net/bonding/bond_options.c
@@ -501,6 +501,12 @@ int bond_option_primary_set(struct bonding *bond, const char *primary)
 		goto out;
 	}
 
+	if (!__dev_get_by_name(dev_net(bond->dev), primary)) {
+		pr_err("%s: unable to set non-existent device %s to primary.\n",
+		       bond->dev->name, primary);
+		goto out;
+	}
+
 	bond_for_each_slave(bond, slave, iter) {
 		if (strncmp(slave->dev->name, primary, IFNAMSIZ) == 0) {
 			pr_info("%s: Setting %s as primary slave.\n",
-- 
1.8.0