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. > >