diff options
author | Alexander Duyck <aduyck@mirantis.com> | 2015-09-28 09:16:17 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-09-29 14:57:16 -0700 |
commit | 822d54b9c2c18271239ad7d928f1e9c702676592 (patch) | |
tree | 5cbe32bb53daf8660e890a32fbdf06820ad5e029 /Documentation/wimax | |
parent | 2594e9064a57634efc146ff4e89a5de562e05011 (diff) |
netpoll: Drop budget parameter from NAPI polling call hierarchy
For some reason we were carrying the budget value around between the
various calls to napi->poll. If for example one of the drivers called had
a bug in which it returned a non-zero value for work this could result in
the budget value becoming negative.
Rather than carry around a value of budget that is 0 or less we can instead
just loop through and pass 0 to each napi->poll call. If any driver
returns a value for work done that is non-zero then we can report that
driver and continue rather than allowing a bad actor to make the budget
value negative and pass that negative value to napi->poll.
Note, the only actual change here is that instead of letting budget become
negative we are keeping it at 0 regardless of the value returned for work
since it should not be possible for the polling routine to do any actual
work with a budget of 0. So if the polling routine returns a non-0 value
we are just reporting it and continuing with a budget of 0 rather than
letting that work value be subtracted from the budget of 0.
Signed-off-by: Alexander Duyck <aduyck@mirantis.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'Documentation/wimax')
0 files changed, 0 insertions, 0 deletions