mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 01:11:14 +00:00
196f3d586f
5.4.102 backported a lot of stuff that our WireGuard backport already did, in addition to other patches we had, so those patches were removed from that part of the series. In the process other patches were refreshed or reworked to account for upstream changes. This commit involved `update_kernel.sh -v -u 5.4`. Cc: John Audia <graysky@archlinux.us> Cc: David Bauer <mail@david-bauer.net> Cc: Petr Štetiar <ynezz@true.cz> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
39 lines
1.4 KiB
Diff
39 lines
1.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: "Jason A. Donenfeld" <Jason@zx2c4.com>
|
|
Date: Fri, 14 Feb 2020 23:57:21 +0100
|
|
Subject: [PATCH] wireguard: receive: reset last_under_load to zero
|
|
|
|
commit 2a8a4df36462aa85b0db87b7c5ea145ba67e34a8 upstream.
|
|
|
|
This is a small optimization that prevents more expensive comparisons
|
|
from happening when they are no longer necessary, by clearing the
|
|
last_under_load variable whenever we wind up in a state where we were
|
|
under load but we no longer are.
|
|
|
|
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
|
Suggested-by: Matt Dunwoodie <ncon@noconroy.net>
|
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
|
---
|
|
drivers/net/wireguard/receive.c | 7 +++++--
|
|
1 file changed, 5 insertions(+), 2 deletions(-)
|
|
|
|
--- a/drivers/net/wireguard/receive.c
|
|
+++ b/drivers/net/wireguard/receive.c
|
|
@@ -118,10 +118,13 @@ static void wg_receive_handshake_packet(
|
|
|
|
under_load = skb_queue_len(&wg->incoming_handshakes) >=
|
|
MAX_QUEUED_INCOMING_HANDSHAKES / 8;
|
|
- if (under_load)
|
|
+ if (under_load) {
|
|
last_under_load = ktime_get_coarse_boottime_ns();
|
|
- else if (last_under_load)
|
|
+ } else if (last_under_load) {
|
|
under_load = !wg_birthdate_has_expired(last_under_load, 1);
|
|
+ if (!under_load)
|
|
+ last_under_load = 0;
|
|
+ }
|
|
mac_state = wg_cookie_validate_packet(&wg->cookie_checker, skb,
|
|
under_load);
|
|
if ((under_load && mac_state == VALID_MAC_WITH_COOKIE) ||
|