diff options
author | Pavel Emelyanov <xemul@openvz.org> | 2008-05-21 17:12:46 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-05-21 17:12:46 -0400 |
commit | 96e74088f1da4d9a53735a4a57a4f984f86b75c6 (patch) | |
tree | 4c645107e3b75694ac142b562e221a868d3ccb89 /net/core/rtnetlink.c | |
parent | 34ac2573e88c4f80fc5e219d8012ea383a788803 (diff) |
net: The dev->get_stats pointer is not NULL nowadays.
And so does the pointer is returns, but sysfs and netlinks still
check for both cases.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/rtnetlink.c')
-rw-r--r-- | net/core/rtnetlink.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index cf857c4dc7b1..ca32ddb8ad17 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c | |||
@@ -606,6 +606,8 @@ static int rtnl_fill_ifinfo(struct sk_buff *skb, struct net_device *dev, | |||
606 | { | 606 | { |
607 | struct ifinfomsg *ifm; | 607 | struct ifinfomsg *ifm; |
608 | struct nlmsghdr *nlh; | 608 | struct nlmsghdr *nlh; |
609 | struct net_device_stats *stats; | ||
610 | struct nlattr *attr; | ||
609 | 611 | ||
610 | nlh = nlmsg_put(skb, pid, seq, type, sizeof(*ifm), flags); | 612 | nlh = nlmsg_put(skb, pid, seq, type, sizeof(*ifm), flags); |
611 | if (nlh == NULL) | 613 | if (nlh == NULL) |
@@ -652,19 +654,13 @@ static int rtnl_fill_ifinfo(struct sk_buff *skb, struct net_device *dev, | |||
652 | NLA_PUT(skb, IFLA_BROADCAST, dev->addr_len, dev->broadcast); | 654 | NLA_PUT(skb, IFLA_BROADCAST, dev->addr_len, dev->broadcast); |
653 | } | 655 | } |
654 | 656 | ||
655 | if (dev->get_stats) { | 657 | attr = nla_reserve(skb, IFLA_STATS, |
656 | struct net_device_stats *stats = dev->get_stats(dev); | 658 | sizeof(struct rtnl_link_stats)); |
657 | if (stats) { | 659 | if (attr == NULL) |
658 | struct nlattr *attr; | 660 | goto nla_put_failure; |
659 | 661 | ||
660 | attr = nla_reserve(skb, IFLA_STATS, | 662 | stats = dev->get_stats(dev); |
661 | sizeof(struct rtnl_link_stats)); | 663 | copy_rtnl_link_stats(nla_data(attr), stats); |
662 | if (attr == NULL) | ||
663 | goto nla_put_failure; | ||
664 | |||
665 | copy_rtnl_link_stats(nla_data(attr), stats); | ||
666 | } | ||
667 | } | ||
668 | 664 | ||
669 | if (dev->rtnl_link_ops) { | 665 | if (dev->rtnl_link_ops) { |
670 | if (rtnl_link_fill(skb, dev) < 0) | 666 | if (rtnl_link_fill(skb, dev) < 0) |