Lines Matching defs:lmk
173 struct iv_lmk_private lmk;
284 * lmk: Compatible implementation of the block chaining mode used
294 * version 2: uses 64 multikey scheme with lmk IV generator
417 struct iv_lmk_private *lmk = &cc->iv_gen_private.lmk;
419 if (lmk->hash_tfm && !IS_ERR(lmk->hash_tfm))
420 crypto_free_shash(lmk->hash_tfm);
421 lmk->hash_tfm = NULL;
423 kfree_sensitive(lmk->seed);
424 lmk->seed = NULL;
430 struct iv_lmk_private *lmk = &cc->iv_gen_private.lmk;
437 lmk->hash_tfm = crypto_alloc_shash("md5", 0,
439 if (IS_ERR(lmk->hash_tfm)) {
441 return PTR_ERR(lmk->hash_tfm);
446 lmk->seed = NULL;
450 lmk->seed = kzalloc(LMK_SEED_SIZE, GFP_KERNEL);
451 if (!lmk->seed) {
462 struct iv_lmk_private *lmk = &cc->iv_gen_private.lmk;
466 if (lmk->seed)
467 memcpy(lmk->seed, cc->key + (cc->tfms_count * subkey_size),
468 crypto_shash_digestsize(lmk->hash_tfm));
475 struct iv_lmk_private *lmk = &cc->iv_gen_private.lmk;
477 if (lmk->seed)
478 memset(lmk->seed, 0, LMK_SEED_SIZE);
487 struct iv_lmk_private *lmk = &cc->iv_gen_private.lmk;
488 SHASH_DESC_ON_STACK(desc, lmk->hash_tfm);
493 desc->tfm = lmk->hash_tfm;
499 if (lmk->seed) {
500 r = crypto_shash_update(desc, lmk->seed, LMK_SEED_SIZE);
2854 } else if (strcmp(ivmode, "lmk") == 0) {
2960 if (*ivmode && !strcmp(*ivmode, "lmk"))