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 <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David Ahern 2019-06-21 16:27:16 -07:00 коммит произвёл David S. Miller
Родитель 4191faa253
Коммит c22a133a83
1 изменённых файлов: 4 добавлений и 0 удалений

Просмотреть файл

@ -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;