Module Name: src
Committed By: riastradh
Date: Mon Jul 29 02:29:12 UTC 2024
Modified Files:
src/sys/net: if_wg.c
Log Message:
wg(4): Sprinkle static on fixed-size array parameters.
Let's make the static size declarations useful.
No functional change intended.
To generate a diff of this commit:
cvs rdiff -u -r1.113 -r1.114 src/sys/net/if_wg.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/net/if_wg.c
diff -u src/sys/net/if_wg.c:1.113 src/sys/net/if_wg.c:1.114
--- src/sys/net/if_wg.c:1.113 Mon Jul 29 02:28:58 2024
+++ src/sys/net/if_wg.c Mon Jul 29 02:29:11 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: if_wg.c,v 1.113 2024/07/29 02:28:58 riastradh Exp $ */
+/* $NetBSD: if_wg.c,v 1.114 2024/07/29 02:29:11 riastradh Exp $ */
/*
* Copyright (C) Ryota Ozaki <[email protected]>
@@ -41,7 +41,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_wg.c,v 1.113 2024/07/29 02:28:58 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_wg.c,v 1.114 2024/07/29 02:29:11 riastradh Exp $");
#ifdef _KERNEL_OPT
#include "opt_altq_enabled.h"
@@ -407,7 +407,7 @@ struct wg_msg_data {
uint32_t wgmd_type;
uint32_t wgmd_receiver;
uint64_t wgmd_counter;
- uint32_t wgmd_packet[0];
+ uint32_t wgmd_packet[];
} __packed;
/* [W] 5.4.7 Under Load: Cookie Reply Message */
@@ -725,7 +725,7 @@ static struct mbuf *
static void wg_send_data_msg(struct wg_peer *, struct wg_session *,
struct mbuf *);
static void wg_send_cookie_msg(struct wg_softc *, struct wg_peer *,
- const uint32_t, const uint8_t [WG_MAC_LEN],
+ const uint32_t, const uint8_t[static WG_MAC_LEN],
const struct sockaddr *);
static void wg_send_handshake_msg_resp(struct wg_softc *, struct wg_peer *,
struct wg_session *, const struct wg_msg_init *);
@@ -736,7 +736,7 @@ static struct wg_peer *
struct psref *);
static struct wg_peer *
wg_lookup_peer_by_pubkey(struct wg_softc *,
- const uint8_t [WG_STATIC_KEY_LEN], struct psref *);
+ const uint8_t[static WG_STATIC_KEY_LEN], struct psref *);
static struct wg_session *
wg_lookup_session_by_index(struct wg_softc *,
@@ -953,8 +953,8 @@ wgdetach(void)
}
static void
-wg_init_key_and_hash(uint8_t ckey[WG_CHAINING_KEY_LEN],
- uint8_t hash[WG_HASH_LEN])
+wg_init_key_and_hash(uint8_t ckey[static WG_CHAINING_KEY_LEN],
+ uint8_t hash[static WG_HASH_LEN])
{
/* [W] 5.4: CONSTRUCTION */
const char *signature = "Noise_IKpsk2_25519_ChaChaPoly_BLAKE2s";
@@ -978,7 +978,7 @@ wg_init_key_and_hash(uint8_t ckey[WG_CHA
}
static void
-wg_algo_hash(uint8_t hash[WG_HASH_LEN], const uint8_t input[],
+wg_algo_hash(uint8_t hash[static WG_HASH_LEN], const uint8_t input[],
const size_t inputsize)
{
struct blake2s state;
@@ -1041,8 +1041,8 @@ wg_algo_mac_cookie(uint8_t out[], const
}
static void
-wg_algo_generate_keypair(uint8_t pubkey[WG_EPHEMERAL_KEY_LEN],
- uint8_t privkey[WG_EPHEMERAL_KEY_LEN])
+wg_algo_generate_keypair(uint8_t pubkey[static WG_EPHEMERAL_KEY_LEN],
+ uint8_t privkey[static WG_EPHEMERAL_KEY_LEN])
{
CTASSERT(WG_EPHEMERAL_KEY_LEN == crypto_scalarmult_curve25519_BYTES);
@@ -1052,9 +1052,9 @@ wg_algo_generate_keypair(uint8_t pubkey[
}
static void
-wg_algo_dh(uint8_t out[WG_DH_OUTPUT_LEN],
- const uint8_t privkey[WG_STATIC_KEY_LEN],
- const uint8_t pubkey[WG_STATIC_KEY_LEN])
+wg_algo_dh(uint8_t out[static WG_DH_OUTPUT_LEN],
+ const uint8_t privkey[static WG_STATIC_KEY_LEN],
+ const uint8_t pubkey[static WG_STATIC_KEY_LEN])
{
CTASSERT(WG_STATIC_KEY_LEN == crypto_scalarmult_curve25519_BYTES);
@@ -1100,8 +1100,10 @@ wg_algo_hmac(uint8_t out[], const size_t
}
static void
-wg_algo_kdf(uint8_t out1[WG_KDF_OUTPUT_LEN], uint8_t out2[WG_KDF_OUTPUT_LEN],
- uint8_t out3[WG_KDF_OUTPUT_LEN], const uint8_t ckey[WG_CHAINING_KEY_LEN],
+wg_algo_kdf(uint8_t out1[static WG_KDF_OUTPUT_LEN],
+ uint8_t out2[WG_KDF_OUTPUT_LEN],
+ uint8_t out3[WG_KDF_OUTPUT_LEN],
+ const uint8_t ckey[static WG_CHAINING_KEY_LEN],
const uint8_t input[], const size_t inputlen)
{
uint8_t tmp1[WG_KDF_OUTPUT_LEN], tmp2[WG_KDF_OUTPUT_LEN + 1];
@@ -1140,10 +1142,10 @@ wg_algo_kdf(uint8_t out1[WG_KDF_OUTPUT_L
}
static void __noinline
-wg_algo_dh_kdf(uint8_t ckey[WG_CHAINING_KEY_LEN],
+wg_algo_dh_kdf(uint8_t ckey[static WG_CHAINING_KEY_LEN],
uint8_t cipher_key[WG_CIPHER_KEY_LEN],
- const uint8_t local_key[WG_STATIC_KEY_LEN],
- const uint8_t remote_key[WG_STATIC_KEY_LEN])
+ const uint8_t local_key[static WG_STATIC_KEY_LEN],
+ const uint8_t remote_key[static WG_STATIC_KEY_LEN])
{
uint8_t dhout[WG_DH_OUTPUT_LEN];
@@ -1157,8 +1159,10 @@ wg_algo_dh_kdf(uint8_t ckey[WG_CHAINING_
}
static void
-wg_algo_aead_enc(uint8_t out[], size_t expected_outsize, const uint8_t key[],
- const uint64_t counter, const uint8_t plain[], const size_t plainsize,
+wg_algo_aead_enc(uint8_t out[], size_t expected_outsize,
+ const uint8_t key[static crypto_aead_chacha20poly1305_ietf_KEYBYTES],
+ const uint64_t counter,
+ const uint8_t plain[], const size_t plainsize,
const uint8_t auth[], size_t authlen)
{
uint8_t nonce[(32 + 64) / 8] = {0};
@@ -1174,9 +1178,11 @@ wg_algo_aead_enc(uint8_t out[], size_t e
}
static int
-wg_algo_aead_dec(uint8_t out[], size_t expected_outsize, const uint8_t key[],
- const uint64_t counter, const uint8_t encrypted[],
- const size_t encryptedsize, const uint8_t auth[], size_t authlen)
+wg_algo_aead_dec(uint8_t out[], size_t expected_outsize,
+ const uint8_t key[static crypto_aead_chacha20poly1305_ietf_KEYBYTES],
+ const uint64_t counter,
+ const uint8_t encrypted[], const size_t encryptedsize,
+ const uint8_t auth[], size_t authlen)
{
uint8_t nonce[(32 + 64) / 8] = {0};
long long unsigned int outsize;
@@ -1193,9 +1199,10 @@ wg_algo_aead_dec(uint8_t out[], size_t e
static void
wg_algo_xaead_enc(uint8_t out[], const size_t expected_outsize,
- const uint8_t key[], const uint8_t plain[], const size_t plainsize,
+ const uint8_t key[static crypto_aead_xchacha20poly1305_ietf_KEYBYTES],
+ const uint8_t plain[], const size_t plainsize,
const uint8_t auth[], size_t authlen,
- const uint8_t nonce[WG_SALT_LEN])
+ const uint8_t nonce[static WG_SALT_LEN])
{
long long unsigned int outsize;
int error __diagused;
@@ -1209,9 +1216,10 @@ wg_algo_xaead_enc(uint8_t out[], const s
static int
wg_algo_xaead_dec(uint8_t out[], const size_t expected_outsize,
- const uint8_t key[], const uint8_t encrypted[], const size_t encryptedsize,
+ const uint8_t key[static crypto_aead_xchacha20poly1305_ietf_KEYBYTES],
+ const uint8_t encrypted[], const size_t encryptedsize,
const uint8_t auth[], size_t authlen,
- const uint8_t nonce[WG_SALT_LEN])
+ const uint8_t nonce[static WG_SALT_LEN])
{
long long unsigned int outsize;
int error;
@@ -2251,7 +2259,7 @@ wg_send_handshake_msg_resp(struct wg_sof
static struct wg_peer *
wg_lookup_peer_by_pubkey(struct wg_softc *wg,
- const uint8_t pubkey[WG_STATIC_KEY_LEN], struct psref *psref)
+ const uint8_t pubkey[static WG_STATIC_KEY_LEN], struct psref *psref)
{
struct wg_peer *wgp;
@@ -2267,7 +2275,7 @@ wg_lookup_peer_by_pubkey(struct wg_softc
static void
wg_fill_msg_cookie(struct wg_softc *wg, struct wg_peer *wgp,
struct wg_msg_cookie *wgmc, const uint32_t sender,
- const uint8_t mac1[WG_MAC_LEN], const struct sockaddr *src)
+ const uint8_t mac1[static WG_MAC_LEN], const struct sockaddr *src)
{
uint8_t cookie[WG_COOKIE_LEN];
uint8_t key[WG_HASH_LEN];
@@ -2331,7 +2339,7 @@ wg_fill_msg_cookie(struct wg_softc *wg,
static void
wg_send_cookie_msg(struct wg_softc *wg, struct wg_peer *wgp,
- const uint32_t sender, const uint8_t mac1[WG_MAC_LEN],
+ const uint32_t sender, const uint8_t mac1[static WG_MAC_LEN],
const struct sockaddr *src)
{
int error;
@@ -4477,8 +4485,8 @@ wg_input(struct ifnet *ifp, struct mbuf
}
static void
-wg_calc_pubkey(uint8_t pubkey[WG_STATIC_KEY_LEN],
- const uint8_t privkey[WG_STATIC_KEY_LEN])
+wg_calc_pubkey(uint8_t pubkey[static WG_STATIC_KEY_LEN],
+ const uint8_t privkey[static WG_STATIC_KEY_LEN])
{
crypto_scalarmult_base(pubkey, privkey);