diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2017-10-12 14:25:52 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2017-10-17 19:26:07 +0200 |
commit | e3ddd1c5e42ea0f6d0c77542c768fc0acc940850 (patch) | |
tree | 0db6c75a38aff25fe6d0f2b9bdeb781fe2471ecc /src | |
parent | compat: support READ_ONCE (diff) | |
download | wireguard-monolithic-historical-e3ddd1c5e42ea0f6d0c77542c768fc0acc940850.tar.xz wireguard-monolithic-historical-e3ddd1c5e42ea0f6d0c77542c768fc0acc940850.zip |
receive: improve control flow
Diffstat (limited to 'src')
-rw-r--r-- | src/receive.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/receive.c b/src/receive.c index 6efbc08..0f896ee 100644 --- a/src/receive.c +++ b/src/receive.c @@ -407,10 +407,8 @@ void packet_decrypt_worker(struct work_struct *work) struct sk_buff *skb; while ((skb = ptr_ring_consume_bh(&queue->ring)) != NULL) { - if (likely(skb_decrypt(skb, &PACKET_CB(skb)->keypair->receiving))) - queue_enqueue_per_peer(&PACKET_PEER(skb)->rx_queue, skb, PACKET_STATE_CRYPTED); - else - queue_enqueue_per_peer(&PACKET_PEER(skb)->rx_queue, skb, PACKET_STATE_DEAD); + enum packet_state state = likely(skb_decrypt(skb, &PACKET_CB(skb)->keypair->receiving)) ? PACKET_STATE_CRYPTED : PACKET_STATE_DEAD; + queue_enqueue_per_peer(&PACKET_PEER(skb)->rx_queue, skb, state); } } |