On 1/30/19 10:44 AM, Jakub Kicinski wrote:
> On Tue, 29 Jan 2019 21:18:28 -0700, David Ahern wrote:
>> On 1/28/19 4:44 PM, Jakub Kicinski wrote:
>>> @@ -4946,6 +4964,9 @@ static size_t if_nlmsg_stats_size(const struct 
>>> net_device *dev,
>>>             rcu_read_unlock();
>>>     }
>>>  
>>> +   if (stats_attr_valid(filter_mask, IFLA_STATS_LINK_HSTATS, 0))  
>>
>> filter_mask is populated by RTEXT_FILTER_ from
>> include/uapi/linux/rtnetlink.h
> 
> ext_filter_mask is from IFLA_EXT_MASK and has RTEXT_FILTER_ bits set.
> Here the mask is from struct if_stats_msg::filter_mask of RTM_GETSTATS.
> Am I missing the point? :S

nm. I confused the two filter_mask's.

> 
>>> +           size += rtnl_get_link_hstats_size(dev);  
>>
>> rtnl_get_link_hstats_size == __rtnl_get_link_hstats can return < 0.
> 
> Ups!  Thank you!
> 
> In general how much do you dislike this code? :)
> 

Not having spent much time on the stats details it is hard to follow -
i.e, requires a fair bit of time iterative over the core patches.

Reply via email to