From d9501f128f9f7b26474f6894111868fedc9e07ce Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Wed, 11 Jul 2018 17:15:49 +0200 Subject: receive: account for zero or negative budget Suggested-by: Thomas Gschwantner --- src/receive.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/receive.c') diff --git a/src/receive.c b/src/receive.c index 1e8a242..f9d8228 100644 --- a/src/receive.c +++ b/src/receive.c @@ -379,6 +379,9 @@ int packet_rx_poll(struct napi_struct *napi, int budget) int work_done = 0; bool free; + if (unlikely(budget <= 0)) + return 0; + while ((skb = __ptr_ring_peek(&queue->ring)) != NULL && (state = atomic_read(&PACKET_CB(skb)->state)) != PACKET_STATE_UNCRYPTED) { __ptr_ring_discard_one(&queue->ring); peer = PACKET_PEER(skb); -- cgit v1.2.3-59-g8ed1b