mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-30 02:29:01 +00:00
2a3b2f59fe
These are the latest patches that just landed upstream for 5.13, will be backported by Greg into 5.10 (because of stable@), and are now in the 5.4 backport branch of wireguard: https://git.zx2c4.com/wireguard-linux/log/?h=backport-5.4.y Cc: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Tested-by: Stijn Segers <foss@volatilesystems.org>
44 lines
1.6 KiB
Diff
44 lines
1.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: "Jason A. Donenfeld" <Jason@zx2c4.com>
|
|
Date: Fri, 4 Jun 2021 17:17:35 +0200
|
|
Subject: [PATCH] wireguard: allowedips: initialize list head in selftest
|
|
|
|
commit 46cfe8eee285cde465b420637507884551f5d7ca upstream.
|
|
|
|
The randomized trie tests weren't initializing the dummy peer list head,
|
|
resulting in a NULL pointer dereference when used. Fix this by
|
|
initializing it in the randomized trie test, just like we do for the
|
|
static unit test.
|
|
|
|
While we're at it, all of the other strings like this have the word
|
|
"self-test", so add it to the missing place here.
|
|
|
|
Fixes: e7096c131e51 ("net: WireGuard secure network tunnel")
|
|
Cc: stable@vger.kernel.org
|
|
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
|
---
|
|
drivers/net/wireguard/selftest/allowedips.c | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
--- a/drivers/net/wireguard/selftest/allowedips.c
|
|
+++ b/drivers/net/wireguard/selftest/allowedips.c
|
|
@@ -296,6 +296,7 @@ static __init bool randomized_test(void)
|
|
goto free;
|
|
}
|
|
kref_init(&peers[i]->refcount);
|
|
+ INIT_LIST_HEAD(&peers[i]->allowedips_list);
|
|
}
|
|
|
|
mutex_lock(&mutex);
|
|
@@ -333,7 +334,7 @@ static __init bool randomized_test(void)
|
|
if (wg_allowedips_insert_v4(&t,
|
|
(struct in_addr *)mutated,
|
|
cidr, peer, &mutex) < 0) {
|
|
- pr_err("allowedips random malloc: FAIL\n");
|
|
+ pr_err("allowedips random self-test malloc: FAIL\n");
|
|
goto free_locked;
|
|
}
|
|
if (horrible_allowedips_insert_v4(&h,
|