Lines Matching +full:1 +full:kb

58 static inline int _key_to_kb(struct key_blob *kb,  in _key_to_kb()  argument
76 memset(kb->keybuf, 0, sizeof(kb->keybuf)); in _key_to_kb()
77 h = (struct clearkey_header *) kb->keybuf; in _key_to_kb()
81 memcpy(kb->keybuf + sizeof(*h), key, keylen); in _key_to_kb()
82 kb->keylen = sizeof(*h) + keylen; in _key_to_kb()
83 kb->key = kb->keybuf; in _key_to_kb()
87 if (keylen <= sizeof(kb->keybuf)) in _key_to_kb()
88 kb->key = kb->keybuf; in _key_to_kb()
90 kb->key = kmalloc(keylen, GFP_KERNEL); in _key_to_kb()
91 if (!kb->key) in _key_to_kb()
94 memcpy(kb->key, key, keylen); in _key_to_kb()
95 kb->keylen = keylen; in _key_to_kb()
102 static inline void _free_kb_keybuf(struct key_blob *kb) in _free_kb_keybuf() argument
104 if (kb->key && kb->key != kb->keybuf in _free_kb_keybuf()
105 && kb->keylen > sizeof(kb->keybuf)) { in _free_kb_keybuf()
106 kfree(kb->key); in _free_kb_keybuf()
107 kb->key = NULL; in _free_kb_keybuf()
112 struct key_blob kb; member
119 struct key_blob kb[2]; member
125 static inline int __paes_keyblob2pkey(struct key_blob *kb, in __paes_keyblob2pkey() argument
135 ret = pkey_keyblob2pkey(kb->key, kb->keylen, pk); in __paes_keyblob2pkey()
148 ret = __paes_keyblob2pkey(&ctx->kb, &pkey); in __paes_convert_key()
163 ctx->kb.key = NULL; in ecb_paes_init()
173 _free_kb_keybuf(&ctx->kb); in ecb_paes_exit()
202 _free_kb_keybuf(&ctx->kb); in ecb_paes_set_key()
203 rc = _key_to_kb(&ctx->kb, in_key, key_len); in ecb_paes_set_key()
231 n = nbytes & ~(AES_BLOCK_SIZE - 1); in ecb_paes_crypt()
260 .base.cra_priority = 401, /* combo: aes + ecb + 1 */
278 ctx->kb.key = NULL; in cbc_paes_init()
288 _free_kb_keybuf(&ctx->kb); in cbc_paes_exit()
317 _free_kb_keybuf(&ctx->kb); in cbc_paes_set_key()
318 rc = _key_to_kb(&ctx->kb, in_key, key_len); in cbc_paes_set_key()
348 n = nbytes & ~(AES_BLOCK_SIZE - 1); in cbc_paes_crypt()
379 .base.cra_priority = 402, /* ecb-paes-s390 + 1 */
398 ctx->kb[0].key = NULL; in xts_paes_init()
399 ctx->kb[1].key = NULL; in xts_paes_init()
409 _free_kb_keybuf(&ctx->kb[0]); in xts_paes_exit()
410 _free_kb_keybuf(&ctx->kb[1]); in xts_paes_exit()
417 if (__paes_keyblob2pkey(&ctx->kb[0], &pkey0) || in __xts_paes_convert_key()
418 __paes_keyblob2pkey(&ctx->kb[1], &pkey1)) in __xts_paes_convert_key()
423 memcpy(&ctx->pk[1], &pkey1, sizeof(pkey1)); in __xts_paes_convert_key()
436 if (ctx->pk[0].type != ctx->pk[1].type) in __xts_paes_set_key()
463 _free_kb_keybuf(&ctx->kb[0]); in xts_paes_set_key()
464 _free_kb_keybuf(&ctx->kb[1]); in xts_paes_set_key()
465 rc = _key_to_kb(&ctx->kb[0], in_key, key_len); in xts_paes_set_key()
468 rc = _key_to_kb(&ctx->kb[1], in_key + key_len, key_len); in xts_paes_set_key()
484 memcpy(ckey + ckey_len, ctx->pk[1].protkey, ckey_len); in xts_paes_set_key()
517 memcpy(pcc_param.key + offset, ctx->pk[1].protkey, keylen); in xts_paes_crypt()
525 n = nbytes & ~(AES_BLOCK_SIZE - 1); in xts_paes_crypt()
556 .base.cra_priority = 402, /* ecb-paes-s390 + 1 */
575 ctx->kb.key = NULL; in ctr_paes_init()
585 _free_kb_keybuf(&ctx->kb); in ctr_paes_exit()
615 _free_kb_keybuf(&ctx->kb); in ctr_paes_set_key()
616 rc = _key_to_kb(&ctx->kb, in_key, key_len); in ctr_paes_set_key()
629 n = (nbytes > PAGE_SIZE) ? PAGE_SIZE : nbytes & ~(AES_BLOCK_SIZE - 1); in __ctrblk_init()
630 for (i = (n / AES_BLOCK_SIZE) - 1; i > 0; i--) { in __ctrblk_init()
691 while (1) { in ctr_paes_crypt()
713 .base.cra_priority = 402, /* ecb-paes-s390 + 1 */
714 .base.cra_blocksize = 1,