Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 520813e7 authored by Gustavo A. R. Silva's avatar Gustavo A. R. Silva Committed by Lee Jones
Browse files

UPSTREAM: wireguard: ratelimiter: use kvcalloc() instead of kvzalloc()

Use 2-factor argument form kvcalloc() instead of kvzalloc().

Bug: 254441685
Link: https://github.com/KSPP/linux/issues/162


Fixes: e7096c131e51 ("net: WireGuard secure network tunnel")
Signed-off-by: default avatarGustavo A. R. Silva <gustavoars@kernel.org>
[Jason: Gustavo's link above is for KSPP, but this isn't actually a
 security fix, as table_size is bounded to 8192 anyway, and gcc realizes
 this, so the codegen comes out to be about the same.]
Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
(cherry picked from commit 4e3fd721710553832460c179c2ee5ce67ef7f1e0)
Signed-off-by: default avatarLee Jones <joneslee@google.com>
Change-Id: I40ffcc5abc3ea3032e889ab08cc2b940bf701e35
parent fba43d3e
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -176,12 +176,12 @@ int wg_ratelimiter_init(void)
			(1U << 14) / sizeof(struct hlist_head)));
	max_entries = table_size * 8;

	table_v4 = kvzalloc(table_size * sizeof(*table_v4), GFP_KERNEL);
	table_v4 = kvcalloc(table_size, sizeof(*table_v4), GFP_KERNEL);
	if (unlikely(!table_v4))
		goto err_kmemcache;

#if IS_ENABLED(CONFIG_IPV6)
	table_v6 = kvzalloc(table_size * sizeof(*table_v6), GFP_KERNEL);
	table_v6 = kvcalloc(table_size, sizeof(*table_v6), GFP_KERNEL);
	if (unlikely(!table_v6)) {
		kvfree(table_v4);
		goto err_kmemcache;