On Sat, 2021-01-09 at 19:26 +0200, Vladimir Oltean wrote:
> From: Vladimir Oltean <vladimir.olt...@nxp.com>
> 
> dev_get_stats can now return error codes. Convert all remaining call
> sites to look at that error code and stop processing.
> 
> The effects of simulating a kernel error (returning -ENOMEM) upon
> existing programs or kernel interfaces:
> 
> - ifconfig and "cat /proc/net/dev" print up until the interface that
>   failed, and there they return:
> cat: read error: Cannot allocate memory
> 
> - ifstat and "ip -s -s link show":
> RTNETLINK answers: Cannot allocate memory
> Dump terminated
> 
> Some call sites are coming from a context that returns void (ethtool
> stats, workqueue context). So since we can't report to the upper
> layer,
> do the next best thing: print an error to the console.
> 

another concern, one buggy netdev driver in a system will cause
unnecessary global failures when reading stats via netlink/procfs for
all the netdev in a netns, when other drivers will be happy to report.

can't we just show a message in that driver's stats line about the
occurred err ? and show the normal stats line of all others ?

> This patch wraps up the conversion of existing dev_get_stats callers,
> so
> we can add the __must_check attribute now to ensure that future
> callers
> keep doing this too.
> 
> 

Reply via email to