path: root/drivers/net/ethernet/marvell/sky2.c
diff options
authorAlexander Duyck <aduyck@mirantis.com>2015-09-28 09:16:17 -0700
committerDavid S. Miller <davem@davemloft.net>2015-09-29 14:57:16 -0700
commit822d54b9c2c18271239ad7d928f1e9c702676592 (patch)
tree5cbe32bb53daf8660e890a32fbdf06820ad5e029 /drivers/net/ethernet/marvell/sky2.c
parentbridge: vlan: add per-vlan struct and move to rhashtables (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 'drivers/net/ethernet/marvell/sky2.c')
0 files changed, 0 insertions, 0 deletions