Message ID | b85884a2adf33d28d26b0f6f59f6200bd34dc2fe.1496256804.git.joseph.salisbury@canonical.com |
---|---|
State | New |
Headers | show |
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index 6b48fca..6448d35 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -1595,8 +1595,12 @@ static int do_setlink(const struct sk_buff *skb, set_operstate(dev, nla_get_u8(tb[IFLA_OPERSTATE])); if (tb[IFLA_LINKMODE]) { + unsigned char value = nla_get_u8(tb[IFLA_LINKMODE]); + write_lock_bh(&dev_base_lock); - dev->link_mode = nla_get_u8(tb[IFLA_LINKMODE]); + if (dev->link_mode ^ value) + modified = 1; + dev->link_mode = value; write_unlock_bh(&dev_base_lock); }