From dcf6ab2f2e38238f11b8f3b20f05ab43f73618c3 Mon Sep 17 00:00:00 2001 From: Adrian Chadd Date: Sun, 21 Apr 2024 20:36:05 -0700 Subject: [PATCH] net80211: allow a single wlan crypto module to register for >1 cipher This allows a single wlan crypto module to register for more than one cipher. Without it, duplicate linkerset structs are initialised for the actual module loading machinery itself. I've tested this in my private tree with wlan_ccmp providing both 128 and 256 bit cipher support. Differential Revision: https://reviews.freebsd.org/D44901 Reviewed by: bz, cc, cy Approved by: bz, cc, cy --- sys/net80211/ieee80211_freebsd.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sys/net80211/ieee80211_freebsd.h b/sys/net80211/ieee80211_freebsd.h index ec017bb21ec4..b58c55cc7652 100644 --- a/sys/net80211/ieee80211_freebsd.h +++ b/sys/net80211/ieee80211_freebsd.h @@ -417,8 +417,7 @@ MODULE_DEPEND(wlan_##name, wlan, 1, 1, 1) /* * Crypto modules implement cipher support. */ -#define IEEE80211_CRYPTO_MODULE(name, version) \ -_IEEE80211_POLICY_MODULE(crypto, name, version); \ +#define IEEE80211_CRYPTO_MODULE_ADD(name) \ static void \ name##_modevent(int type) \ { \ @@ -429,6 +428,10 @@ name##_modevent(int type) \ } \ TEXT_SET(crypto##_set, name##_modevent) +#define IEEE80211_CRYPTO_MODULE(name, version) \ + _IEEE80211_POLICY_MODULE(crypto, name, version); \ + IEEE80211_CRYPTO_MODULE_ADD(name) + /* * Scanner modules provide scanning policy. */