aes_cmac
BUILD_BUG_ON(ipn_len != ARRAY_SIZE(seq->aes_cmac.pn));
offsetof(struct ieee80211_key_seq, aes_cmac));
seq->aes_cmac.pn[i] = key->ipn[ipn_len - i - 1];
BUILD_BUG_ON(sizeof(seq->aes_cmac.pn) != sizeof(key->ipn));
memcpy(seq->aes_cmac.pn, key->ipn, sizeof(seq->aes_cmac.pn));
pn = seq.aes_cmac.pn;
memcpy(msg->ipn, seq->aes_cmac.pn, sizeof(seq->aes_cmac.pn));
memreverse(msg->ipn, sizeof(seq->aes_cmac.pn));
cifs_free_hash(&server->secmech.aes_cmac);
struct shash_desc *aes_cmac; /* block-cipher based MAC function, for SMB3 signatures */
return cifs_alloc_hash("cmac(aes)", &p->aes_cmac);
shash = server->secmech.aes_cmac;
} aes_cmac;
err = aes_cmac(tfm_cmac, x, m, sizeof(m), res);
err = aes_cmac(tfm_cmac, salt, w, 32, t);
err = aes_cmac(tfm_cmac, t, m, sizeof(m), mackey);
err = aes_cmac(tfm_cmac, t, m, sizeof(m), ltk);
err = aes_cmac(tfm_cmac, w, m, sizeof(m), res);
err = aes_cmac(tfm_cmac, x, m, sizeof(m), tmp);
err = aes_cmac(tfm_cmac, w, key_id, 4, res);
err = aes_cmac(tfm_cmac, salt, w, 16, res);
offsetof(typeof(kseq), aes_cmac));
rpn = key->u.aes_cmac.rx_pn;
key->u.aes_cmac.replays);
key->u.aes_cmac.icverrors);
pn = key->u.aes_cmac.rx_pn;
memcpy(seq->aes_cmac.pn, pn, IEEE80211_CMAC_PN_LEN);
pn = key->u.aes_cmac.rx_pn;
memcpy(pn, seq->aes_cmac.pn, IEEE80211_CMAC_PN_LEN);
key->u.aes_cmac.icverrors++;
key->u.aes_cmac.replays++;
key->u.aes_cmac.rx_pn[j] =
key->u.aes_cmac.tfm =
if (IS_ERR(key->u.aes_cmac.tfm)) {
err = PTR_ERR(key->u.aes_cmac.tfm);
ieee80211_aes_cmac_key_free(key->u.aes_cmac.tfm);
} aes_cmac;
if (ieee80211_aes_cmac(key->u.aes_cmac.tfm, aad,
if (memcmp(ipn, key->u.aes_cmac.rx_pn, 6) <= 0) {
key->u.aes_cmac.replays++;
if (ieee80211_aes_cmac(key->u.aes_cmac.tfm, aad,
key->u.aes_cmac.icverrors++;
memcpy(key->u.aes_cmac.rx_pn, ipn, 6);