Lines Matching defs:lmk
166 struct iv_lmk_private lmk;
277 * lmk: Compatible implementation of the block chaining mode used
287 * version 2: uses 64 multikey scheme with lmk IV generator
409 struct iv_lmk_private *lmk = &cc->iv_gen_private.lmk;
411 if (lmk->hash_tfm && !IS_ERR(lmk->hash_tfm))
412 crypto_free_shash(lmk->hash_tfm);
413 lmk->hash_tfm = NULL;
415 kfree_sensitive(lmk->seed);
416 lmk->seed = NULL;
422 struct iv_lmk_private *lmk = &cc->iv_gen_private.lmk;
429 lmk->hash_tfm = crypto_alloc_shash("md5", 0,
431 if (IS_ERR(lmk->hash_tfm)) {
433 return PTR_ERR(lmk->hash_tfm);
438 lmk->seed = NULL;
442 lmk->seed = kzalloc(LMK_SEED_SIZE, GFP_KERNEL);
443 if (!lmk->seed) {
454 struct iv_lmk_private *lmk = &cc->iv_gen_private.lmk;
458 if (lmk->seed)
459 memcpy(lmk->seed, cc->key + (cc->tfms_count * subkey_size),
460 crypto_shash_digestsize(lmk->hash_tfm));
467 struct iv_lmk_private *lmk = &cc->iv_gen_private.lmk;
469 if (lmk->seed)
470 memset(lmk->seed, 0, LMK_SEED_SIZE);
479 struct iv_lmk_private *lmk = &cc->iv_gen_private.lmk;
480 SHASH_DESC_ON_STACK(desc, lmk->hash_tfm);
485 desc->tfm = lmk->hash_tfm;
491 if (lmk->seed) {
492 r = crypto_shash_update(desc, lmk->seed, LMK_SEED_SIZE);
2767 } else if (strcmp(ivmode, "lmk") == 0) {
2873 if (*ivmode && !strcmp(*ivmode, "lmk"))