From nobody Thu May 28 19:50:16 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gRHCF0kkvz6f0V5 for ; Thu, 28 May 2026 19:50:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gRHCD4Y75z4H9B for ; Thu, 28 May 2026 19:50:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779997816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cyXlzvbAa+VZJbtIZvJLNGUFUP3lzqwgnqWEpkje5dI=; b=Pc2AtVl0wzVNq995Y3C4kPY5QjlZG5GYgIwdIcHmzRYEM46t7s14t445ND9zyqzwko17rh QWXTDfKM2CpFMSOtL5RJfHsC3O4q4CQ3w13epr3jpSYsi2d76jgFwM/q/2UNpB9Z0EB4Lx Rs+/8m2Gjhq8jQ2X9sPAZMwwhs/L9RUroU1Q0LRqyvQRgDdJqVTn7zEgFD89mONNvtHAxh jT+J9O5tqOinIuMGthEOwj9iPvj8eDD4L3qZtnuE9yJy1dprwxuBCV9c276+L5CQ5q8ujq Tvhwyv+meenWOru+dz2PgQr37/XFSDac0ZV1rJavdQgWPHR3m/GNqUPSDDzaCw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1779997816; a=rsa-sha256; cv=none; b=AGVg5s73427CBYCbzfuTRDCpZncBiw7mYbCMfW5YApPWwkaNO7fqXteq/36J9Y6kEep2NH wSBUe+ZQMV/faNL5/u/p2KBnabibStxbcQ1ibVhRnN/+NVXcusdfhYlAgpeGN7fAhJV2Hj acev3ATYitKKlAeNUwMIXGIaa7YQAgzjpbAoUdJ3jdsfV9QNaUjgvedzj2CU5hvI2aj0Tc gKAAw0WHGJJ1NSmBa0T0+5S6o0VdaKFxxaAapSiSS9n2qEpxYVG/aM9feJ4PFR5SEU22Be mtQYNH9kKZnET2fJ27vgs/3Hg6M1KfFvRehapT+1Q8BplEUUXQOyaM1EzwzO/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779997816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cyXlzvbAa+VZJbtIZvJLNGUFUP3lzqwgnqWEpkje5dI=; b=Di/6oFwOWaNnwFaZoWz3eVvpT9yKaCkjWnys06VDXw4dyYSV7BLUy1VicrIRXPz8AEqHK2 d12ymsLvx/MSMhWvP17JQcwNShPm34EvtW/jMk2PAmzXf3YBJv0xypgFNIuRTtB4KjMF5A MKgmzQpVCtKy6xVdf6rwsOqfAJjIDBX1GpV8UdRoo8tp+NWWlWH0O1nRGyq1kWylApDrdb DkNPOHvnEMO/H/1BTDZ7qgscShG192cIUT7lAX7qb3rOpFNSyfdMfAmw7pkIFxLMP9XwqO oQAQpCW7eG54JPvh2qlQeFIPkHnSImPUeeOyhr/nTQH1JUgt3dIgFaCZVWRcZA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gRHCD47KTz10Tg for ; Thu, 28 May 2026 19:50:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 23f6c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 28 May 2026 19:50:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 774543072db4 - main - LinuxKPI: migrate key data access to functions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 774543072db4949a4177ad4bbdac9fb712bc86f6 Auto-Submitted: auto-generated Date: Thu, 28 May 2026 19:50:16 +0000 Message-Id: <6a189c78.23f6c.2aa49b96@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=774543072db4949a4177ad4bbdac9fb712bc86f6 commit 774543072db4949a4177ad4bbdac9fb712bc86f6 Author: Adrian Chadd AuthorDate: 2026-05-28 19:49:31 +0000 Commit: Adrian Chadd CommitDate: 2026-05-28 19:50:12 +0000 LinuxKPI: migrate key data access to functions * Migrate the k->wk_key and k->wk_keylen access to the new crypto methods in net80211 * don't use ic_miclen, use the tx/rx mic len methods * don't use wk_txmic and wk_rxmic, use the tx/rx mic data methods This is in preparation to support GTK/IGTK keys and > 128 bit keys. Reviewed by: bz Differential Revision: https://reviews.freebsd.org/D54485 --- sys/compat/linuxkpi/common/src/linux_80211.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index cade61e8446f..901c59702840 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1607,12 +1607,13 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) } sta = LSTA_TO_STA(lsta); - keylen = k->wk_keylen; + keylen = ieee80211_crypto_get_key_len(k); lcipher = lkpi_net80211_to_l80211_cipher_suite( - k->wk_cipher->ic_cipher, k->wk_keylen); + k->wk_cipher->ic_cipher, ieee80211_crypto_get_key_len(k)); switch (lcipher) { case WLAN_CIPHER_SUITE_TKIP: - keylen += 2 * k->wk_cipher->ic_miclen; + keylen += ieee80211_crypto_get_key_txmic_len(k); + keylen += ieee80211_crypto_get_key_rxmic_len(k); break; case WLAN_CIPHER_SUITE_CCMP: case WLAN_CIPHER_SUITE_GCMP: @@ -1643,8 +1644,9 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) kc->hw_key_idx = /* set by hw and needs to be passed for TX */; #endif atomic64_set(&kc->tx_pn, k->wk_keytsc); - kc->keylen = k->wk_keylen; - memcpy(kc->key, k->wk_key, k->wk_keylen); + kc->keylen = ieee80211_crypto_get_key_len(k); + memcpy(kc->key, ieee80211_crypto_get_key_data(k), + ieee80211_crypto_get_key_len(k)); if (k->wk_flags & (IEEE80211_KEY_XMIT | IEEE80211_KEY_RECV)) kc->flags |= IEEE80211_KEY_FLAG_PAIRWISE; @@ -1656,8 +1658,12 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) switch (kc->cipher) { case WLAN_CIPHER_SUITE_TKIP: - memcpy(kc->key + NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY, k->wk_txmic, k->wk_cipher->ic_miclen); - memcpy(kc->key + NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY, k->wk_rxmic, k->wk_cipher->ic_miclen); + memcpy(kc->key + NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY, + ieee80211_crypto_get_key_txmic_data(k), + ieee80211_crypto_get_key_txmic_len(k)); + memcpy(kc->key + NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY, + ieee80211_crypto_get_key_rxmic_data(k), + ieee80211_crypto_get_key_rxmic_len(k)); break; case WLAN_CIPHER_SUITE_CCMP: case WLAN_CIPHER_SUITE_GCMP: @@ -5531,10 +5537,10 @@ lkpi_hw_crypto_prepare_tkip(struct ieee80211_key *k, * "enmic" (though we do not do that). */ /* any conditions to not apply this? */ - if (skb_tailroom(skb) < k->wk_cipher->ic_miclen) + if (skb_tailroom(skb) < ieee80211_crypto_get_key_txmic_len(k)) return (ENOBUFS); - p = skb_put(skb, k->wk_cipher->ic_miclen); + p = skb_put(skb, ieee80211_crypto_get_key_txmic_len(k)); if ((kc->flags & IEEE80211_KEY_FLAG_PUT_MIC_SPACE) != 0) goto encrypt;