summaryrefslogtreecommitdiffstats
path: root/net/core/rtnetlink.c
diff options
context:
space:
mode:
authorNicolas Dichtel <nicolas.dichtel@6wind.com>2014-09-01 16:07:27 +0200
committerDavid S. Miller <davem@davemloft.net>2014-09-02 21:57:04 +0200
commit1889b0e7efe8373793069bd3deb7702a51e6f2a5 (patch)
treee08762b7392e09d5ccba1cbed090de58a6391986 /net/core/rtnetlink.c
parentrtnl/do_setlink(): set modified when IFLA_TXQLEN is updated (diff)
downloadlinux-1889b0e7efe8373793069bd3deb7702a51e6f2a5.tar.xz
linux-1889b0e7efe8373793069bd3deb7702a51e6f2a5.zip
rtnl/do_setlink(): set modified when IFLA_LINKMODE is updated
The only effect of this patch is to print a warning if IFLA_LINKMODE is updated and a following change fails. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/rtnetlink.c')
-rw-r--r--net/core/rtnetlink.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 5bbaf74bf457..2bd9fb15b987 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -1624,8 +1624,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);
}