summaryrefslogtreecommitdiff
path: root/drivers/net/wireguard/selftest/counter.c
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2020-08-07 16:41:01 -0700
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2020-08-07 16:41:01 -0700
commit354b75ffe8a739b4cfe9b78d25e6afc43041c1b9 (patch)
treeaefdd5326a34fd4dcff33ad584b506eced3ee6bd /drivers/net/wireguard/selftest/counter.c
parentb67bd6847a9659bc02db01b82b2b79841fbbc159 (diff)
parente20cb2be51c1688517b171ad6907161163ed17ad (diff)
downloadwireguard-linux-trimmed-354b75ffe8a739b4cfe9b78d25e6afc43041c1b9.tar.gz
wireguard-linux-trimmed-354b75ffe8a739b4cfe9b78d25e6afc43041c1b9.zip
Merge branch 'next' into for-linus
Prepare input updates for 5.9 merge window.
Diffstat (limited to 'drivers/net/wireguard/selftest/counter.c')
-rw-r--r--drivers/net/wireguard/selftest/counter.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/drivers/net/wireguard/selftest/counter.c b/drivers/net/wireguard/selftest/counter.c
index f4fbb90..ec3c156 100644
--- a/drivers/net/wireguard/selftest/counter.c
+++ b/drivers/net/wireguard/selftest/counter.c
@@ -6,18 +6,24 @@
#ifdef DEBUG
bool __init wg_packet_counter_selftest(void)
{
+ struct noise_replay_counter *counter;
unsigned int test_num = 0, i;
- union noise_counter counter;
bool success = true;
-#define T_INIT do { \
- memset(&counter, 0, sizeof(union noise_counter)); \
- spin_lock_init(&counter.receive.lock); \
+ counter = kmalloc(sizeof(*counter), GFP_KERNEL);
+ if (unlikely(!counter)) {
+ pr_err("nonce counter self-test malloc: FAIL\n");
+ return false;
+ }
+
+#define T_INIT do { \
+ memset(counter, 0, sizeof(*counter)); \
+ spin_lock_init(&counter->lock); \
} while (0)
#define T_LIM (COUNTER_WINDOW_SIZE + 1)
#define T(n, v) do { \
++test_num; \
- if (counter_validate(&counter, n) != (v)) { \
+ if (counter_validate(counter, n) != (v)) { \
pr_err("nonce counter self-test %u: FAIL\n", \
test_num); \
success = false; \
@@ -99,6 +105,7 @@ bool __init wg_packet_counter_selftest(void)
if (success)
pr_info("nonce counter self-tests: pass\n");
+ kfree(counter);
return success;
}
#endif