aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2017-10-12 14:25:52 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2017-10-17 19:26:07 +0200
commite3ddd1c5e42ea0f6d0c77542c768fc0acc940850 (patch)
tree0db6c75a38aff25fe6d0f2b9bdeb781fe2471ecc
parentcompat: support READ_ONCE (diff)
downloadwireguard-monolithic-historical-e3ddd1c5e42ea0f6d0c77542c768fc0acc940850.tar.xz
wireguard-monolithic-historical-e3ddd1c5e42ea0f6d0c77542c768fc0acc940850.zip
receive: improve control flow
-rw-r--r--src/receive.c6
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);
}
}