From: David Ahern Date: Fri, 21 Jun 2019 23:27:16 +0000 (-0700) Subject: rtnetlink: skip metrics loop for dst_default_metrics X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=c22a133a83ce64949dc35156eaefeda5a1e12bc3;p=openwrt%2Fstaging%2Fblogic.git rtnetlink: skip metrics loop for dst_default_metrics dst_default_metrics has all of the metrics initialized to 0, so nothing will be added to the skb in rtnetlink_put_metrics. Avoid the loop if metrics is from dst_default_metrics. Signed-off-by: David Ahern Signed-off-by: David S. Miller --- diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index 8ac81630ab5c..1ee6460f8275 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -751,6 +751,10 @@ int rtnetlink_put_metrics(struct sk_buff *skb, u32 *metrics) struct nlattr *mx; int i, valid = 0; + /* nothing is dumped for dst_default_metrics, so just skip the loop */ + if (metrics == dst_default_metrics.metrics) + return 0; + mx = nla_nest_start_noflag(skb, RTA_METRICS); if (mx == NULL) return -ENOBUFS;