From nobody Wed Feb 11 06:05:19 2026 X-Original-To: dev-commits-src-all@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 4f9nwH3F6sz6Ryvn for ; Wed, 11 Feb 2026 06:05:19 +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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f9nwH1R3Lz3gVH for ; Wed, 11 Feb 2026 06:05:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770789919; 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=L1h6QYbBTdbbfV3FeMsdDvWftVJOPj+t97I9nsJVkug=; b=ot0av1rQkXQbjL9JGCDBi0sjmp+p0eKQFptD/94t+V/cnWqCrm7xVJfBvW7WXpu1eOPjoI pRQKuUDFa3af1aHo1YL5S0Sa8m0M2EAYduZ7M68B6vrHdbwKRXQsN8260T+8oNrtHZcpgq nbYRDdhc2tq+Fdg8MhTpR66EjQ+qszWtlCSrJFsQWhCh/Y82TJ28va5csLKZ97DMJCIRo4 AsV6jnaQhy/fWGUQeKrBUg7pVao67v6WTeCCaxvLbzR9dUUGP4r+Pi0zNjah9ypKcJfNHv ECp5Ktdzl4NGX8cuu10N0NdheN4q8eKJ7XYEtTMnZLufL5qUT3KwBq8lJcurDQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770789919; a=rsa-sha256; cv=none; b=xJFaJS5obmd4kqLA7Z6AiUBLhiXBn40Ieu9U29z4EemWb8V6k79hwUOMVZG9j3maf7F53h hvAvr0x4zsZbIMU03W3eeIqiKqyaUQKe9cHuIS/SaOFlKcJuYn3Xh/eM8CmD2+bD1Dm8jk 4gN+viQBagJL2GX1dohsA7FBVqiHJyP1TW/32VvgH7ruV4Yn6x73oibKqbb6+oSwKkTO5n R8GD5n/9bNK6VPxh66zd9eOHIzzCdB6j2WbqIBoc7WsWk8XiEofBGw9U8b/xkkABdd+jEy T4IsVZaSl+0DK2mQoPKRjM7sYfibNg2pQTRSgfLDYMs6XJbKxtMp/DM1SG1g0A== 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=1770789919; 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=L1h6QYbBTdbbfV3FeMsdDvWftVJOPj+t97I9nsJVkug=; b=F7oehPiiJk14sUCnx2GTSmANMBAyv7mnjxhj7CfYHqTImjpGTkYayHuZN37vOxH1rst38R 1R6YlYLeIQssIZWM8C05TIPzETpaYJK3gIrtzxJBeu9zCyIwkc092X8HMKC+SiPrQWPUu4 +0x0Yd/tXQ2yx9aPtXkBc2lGWS8w/tE9oEIqALEDfUzPvOSSWhPc/AT7qCNpQBkIE7vRM8 1MtYV6JXvF7PTmJWs8L7QzLCbUu9TM7dT+e9fapB5FqGJIsAIcQp3hTX4d2f4BN2kHtz1z W6rpBEJkEWIW5pE6FGEY/jkltM2rS8Ud+txBFNYQq8hNASidbeNGiDlI9jk9vg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f9nwH0q2XzdHf for ; Wed, 11 Feb 2026 06:05:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33351 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 11 Feb 2026 06:05:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: f064d44badfa - main - run: rum: migrate to new net80211 encryption key API List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org 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: f064d44badfa9eee3e62d2d7dacd77a968f0a6dd Auto-Submitted: auto-generated Date: Wed, 11 Feb 2026 06:05:19 +0000 Message-Id: <698c1c1f.33351.fd5dc2c@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=f064d44badfa9eee3e62d2d7dacd77a968f0a6dd commit f064d44badfa9eee3e62d2d7dacd77a968f0a6dd Author: Adrian Chadd AuthorDate: 2025-12-29 18:55:52 +0000 Commit: Adrian Chadd CommitDate: 2026-02-11 06:03:53 +0000 run: rum: migrate to new net80211 encryption key API Migrate to the new encryption key API rather than poking at the key struct directly. Locally tested: * STA mode - run0: MAC/BBP RT2860 (rev 0x0101), RF RT2820 (MIMO 2T2R), address 00:0e:2e:e5:ae:3a Differential Revision: https://reviews.freebsd.org/D54462 --- sys/dev/usb/wlan/if_rum.c | 26 ++++++++++++++++---------- sys/dev/usb/wlan/if_run.c | 15 ++++++++++----- 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/sys/dev/usb/wlan/if_rum.c b/sys/dev/usb/wlan/if_rum.c index b822766f0ba5..4a4a150146a1 100644 --- a/sys/dev/usb/wlan/if_rum.c +++ b/sys/dev/usb/wlan/if_rum.c @@ -193,8 +193,8 @@ static uint32_t rum_read(struct rum_softc *, uint16_t); static void rum_read_multi(struct rum_softc *, uint16_t, void *, int); static usb_error_t rum_write(struct rum_softc *, uint16_t, uint32_t); -static usb_error_t rum_write_multi(struct rum_softc *, uint16_t, void *, - size_t); +static usb_error_t rum_write_multi(struct rum_softc *, uint16_t, + const void *, size_t); static usb_error_t rum_setbits(struct rum_softc *, uint16_t, uint32_t); static usb_error_t rum_clrbits(struct rum_softc *, uint16_t, uint32_t); static usb_error_t rum_modbits(struct rum_softc *, uint16_t, uint32_t, @@ -1460,7 +1460,8 @@ rum_tx_crypto_flags(struct rum_softc *sc, struct ieee80211_node *ni, if (!(k->wk_flags & IEEE80211_KEY_SWCRYPT)) { cipher = k->wk_cipher->ic_cipher; pos = k->wk_keyix; - mode = rum_crypto_mode(sc, cipher, k->wk_keylen); + mode = rum_crypto_mode(sc, cipher, + ieee80211_crypto_get_key_len(k)); if (mode == 0) return 0; @@ -1843,7 +1844,8 @@ rum_write(struct rum_softc *sc, uint16_t reg, uint32_t val) } static usb_error_t -rum_write_multi(struct rum_softc *sc, uint16_t reg, void *buf, size_t len) +rum_write_multi(struct rum_softc *sc, uint16_t reg, const void *buf, + size_t len) { struct usb_device_request req; usb_error_t error; @@ -1858,7 +1860,8 @@ rum_write_multi(struct rum_softc *sc, uint16_t reg, void *buf, size_t len) USETW(req.wIndex, reg + offset); USETW(req.wLength, MIN(len - offset, 64)); - error = rum_do_request(sc, &req, (char *)buf + offset); + error = rum_do_request(sc, &req, __DECONST(char *, buf) + + offset); if (error != 0) { device_printf(sc->sc_dev, "could not multi write MAC register: %s\n", @@ -2859,15 +2862,16 @@ rum_common_key_set(struct rum_softc *sc, struct ieee80211_key *k, uint16_t base) { - if (rum_write_multi(sc, base, k->wk_key, k->wk_keylen)) + if (rum_write_multi(sc, base, ieee80211_crypto_get_key_data(k), + ieee80211_crypto_get_key_len(k))) return EIO; if (k->wk_cipher->ic_cipher == IEEE80211_CIPHER_TKIP) { if (rum_write_multi(sc, base + IEEE80211_KEYBUF_SIZE, - k->wk_txmic, 8)) + ieee80211_crypto_get_key_txmic_data(k), 8)) return EIO; if (rum_write_multi(sc, base + IEEE80211_KEYBUF_SIZE + 8, - k->wk_rxmic, 8)) + ieee80211_crypto_get_key_rxmic_data(k), 8)) return EIO; } @@ -2886,7 +2890,8 @@ rum_group_key_set_cb(struct rum_softc *sc, union sec_param *data, sc->sc_clr_shkeys = 1; } - mode = rum_crypto_mode(sc, k->wk_cipher->ic_cipher, k->wk_keylen); + mode = rum_crypto_mode(sc, k->wk_cipher->ic_cipher, + ieee80211_crypto_get_key_len(k)); if (mode == 0) goto print_err; @@ -2941,7 +2946,8 @@ rum_pair_key_set_cb(struct rum_softc *sc, union sec_param *data, uint8_t buf[IEEE80211_ADDR_LEN + 1]; uint8_t mode; - mode = rum_crypto_mode(sc, k->wk_cipher->ic_cipher, k->wk_keylen); + mode = rum_crypto_mode(sc, k->wk_cipher->ic_cipher, + ieee80211_crypto_get_key_len(k)); if (mode == 0) goto print_err; diff --git a/sys/dev/usb/wlan/if_run.c b/sys/dev/usb/wlan/if_run.c index 147aa4044057..7d993caaf2a3 100644 --- a/sys/dev/usb/wlan/if_run.c +++ b/sys/dev/usb/wlan/if_run.c @@ -2375,7 +2375,7 @@ run_key_set_cb(void *arg) /* map net80211 cipher to RT2860 security mode */ switch (cipher) { case IEEE80211_CIPHER_WEP: - if(k->wk_keylen < 8) + if(ieee80211_crypto_get_key_len(k) < 8) /* TODO: add a specific WEP40/WEP104 call! */ mode = RT2860_MODE_WEP40; else mode = RT2860_MODE_WEP104; @@ -2408,15 +2408,20 @@ run_key_set_cb(void *arg) } if (cipher == IEEE80211_CIPHER_TKIP) { - if(run_write_region_1(sc, base, k->wk_key, 16)) + if (run_write_region_1(sc, base, + ieee80211_crypto_get_key_data(k), 16)) return; - if(run_write_region_1(sc, base + 16, &k->wk_key[16], 8)) /* wk_txmic */ + if (run_write_region_1(sc, base + 16, + ieee80211_crypto_get_key_txmic_data(k), 8)) /* wk_txmic */ return; - if(run_write_region_1(sc, base + 24, &k->wk_key[24], 8)) /* wk_rxmic */ + if (run_write_region_1(sc, base + 24, + ieee80211_crypto_get_key_rxmic_data(k), 8)) /* wk_rxmic */ return; } else { /* roundup len to 16-bit: XXX fix write_region_1() instead */ - if(run_write_region_1(sc, base, k->wk_key, (k->wk_keylen + 1) & ~1)) + if (run_write_region_1(sc, base, + ieee80211_crypto_get_key_data(k), + (ieee80211_crypto_get_key_len(k) + 1) & ~1)) return; }