Lines Matching refs:scratch
194 struct wusb_mac_scratch *scratch, in wusb_ccm_mac() argument
212 WARN_ON(sizeof(*a) != sizeof(scratch->b1) - sizeof(scratch->b1.la)); in wusb_ccm_mac()
213 WARN_ON(sizeof(scratch->b0) != sizeof(struct aes_ccm_block)); in wusb_ccm_mac()
214 WARN_ON(sizeof(scratch->b1) != sizeof(struct aes_ccm_block)); in wusb_ccm_mac()
215 WARN_ON(sizeof(scratch->ax) != sizeof(struct aes_ccm_block)); in wusb_ccm_mac()
221 dst_size = blen + sizeof(scratch->b0) + sizeof(scratch->b1) + in wusb_ccm_mac()
232 scratch->b0.flags = 0x59; /* Format B0 */ in wusb_ccm_mac()
233 scratch->b0.ccm_nonce = *n; in wusb_ccm_mac()
234 scratch->b0.lm = cpu_to_be16(0); /* WUSB1.0[6.5] sez l(m) is 0 */ in wusb_ccm_mac()
243 scratch->b1.la = cpu_to_be16(blen + 14); in wusb_ccm_mac()
244 memcpy(&scratch->b1.mac_header, a, sizeof(*a)); in wusb_ccm_mac()
247 sg_set_buf(&sg[0], &scratch->b0, sizeof(scratch->b0)); in wusb_ccm_mac()
248 sg_set_buf(&sg[1], &scratch->b1, sizeof(scratch->b1)); in wusb_ccm_mac()
273 scratch->ax.flags = 0x01; /* as per WUSB 1.0 spec */ in wusb_ccm_mac()
274 scratch->ax.ccm_nonce = *n; in wusb_ccm_mac()
275 scratch->ax.counter = 0; in wusb_ccm_mac()
276 crypto_cipher_encrypt_one(tfm_aes, (void *)&scratch->ax, in wusb_ccm_mac()
277 (void *)&scratch->ax); in wusb_ccm_mac()
278 bytewise_xor(mic, &scratch->ax, iv, 8); in wusb_ccm_mac()
303 struct wusb_mac_scratch *scratch; in wusb_prf() local
330 scratch = kmalloc(sizeof(*scratch), GFP_KERNEL); in wusb_prf()
331 if (!scratch) { in wusb_prf()
339 result = wusb_ccm_mac(tfm_cbc, tfm_aes, scratch, out + bytes, in wusb_prf()
347 kfree(scratch); in wusb_prf()