summaryrefslogtreecommitdiff
path: root/net/core/dev.c
diff options
context:
space:
mode:
authorLi RongQing <lirongqing@baidu.com>2018-08-03 15:45:21 +0800
committerDavid S. Miller <davem@davemloft.net>2018-08-05 17:24:45 -0700
commita6bcfc89694ed8cb482a82cdc8b93aae63a8b691 (patch)
tree5b4432cdf877af3ad989eb12c1d63f481dc89a8b /net/core/dev.c
parent0ed4229b08c13c84a3c301a08defdc9e7f4467e6 (diff)
net: check extack._msg before print
dev_set_mtu_ext is able to fail with a valid mtu value, at that condition, extack._msg is not set and random since it is in stack, then kernel will crash when print it. Fixes: 7a4c53bee3324a ("net: report invalid mtu value via netlink extack") Signed-off-by: Zhang Yu <zhangyu31@baidu.com> Signed-off-by: Li RongQing <lirongqing@baidu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/dev.c')
-rw-r--r--net/core/dev.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 36e994519488..f68122f0ab02 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -7583,8 +7583,9 @@ int dev_set_mtu(struct net_device *dev, int new_mtu)
struct netlink_ext_ack extack;
int err;
+ memset(&extack, 0, sizeof(extack));
err = dev_set_mtu_ext(dev, new_mtu, &extack);
- if (err)
+ if (err && extack._msg)
net_err_ratelimited("%s: %s\n", dev->name, extack._msg);
return err;
}