|
@@ -78,6 +78,7 @@ krb5_encrypt(
|
|
|
memcpy(out, in, length);
|
|
|
sg_init_one(sg, out, length);
|
|
|
|
|
|
+ skcipher_request_set_tfm(req, tfm);
|
|
|
skcipher_request_set_callback(req, 0, NULL, NULL);
|
|
|
skcipher_request_set_crypt(req, sg, sg, length, local_iv);
|
|
|
|
|
@@ -115,6 +116,7 @@ krb5_decrypt(
|
|
|
memcpy(out, in, length);
|
|
|
sg_init_one(sg, out, length);
|
|
|
|
|
|
+ skcipher_request_set_tfm(req, tfm);
|
|
|
skcipher_request_set_callback(req, 0, NULL, NULL);
|
|
|
skcipher_request_set_crypt(req, sg, sg, length, local_iv);
|
|
|
|
|
@@ -946,7 +948,8 @@ krb5_rc4_setup_seq_key(struct krb5_ctx *kctx, struct crypto_skcipher *cipher,
|
|
|
return PTR_ERR(hmac);
|
|
|
}
|
|
|
|
|
|
- desc = kmalloc(sizeof(*desc), GFP_KERNEL);
|
|
|
+ desc = kmalloc(sizeof(*desc) + crypto_shash_descsize(hmac),
|
|
|
+ GFP_KERNEL);
|
|
|
if (!desc) {
|
|
|
dprintk("%s: failed to allocate shash descriptor for '%s'\n",
|
|
|
__func__, kctx->gk5e->cksum_name);
|
|
@@ -1012,7 +1015,8 @@ krb5_rc4_setup_enc_key(struct krb5_ctx *kctx, struct crypto_skcipher *cipher,
|
|
|
return PTR_ERR(hmac);
|
|
|
}
|
|
|
|
|
|
- desc = kmalloc(sizeof(*desc), GFP_KERNEL);
|
|
|
+ desc = kmalloc(sizeof(*desc) + crypto_shash_descsize(hmac),
|
|
|
+ GFP_KERNEL);
|
|
|
if (!desc) {
|
|
|
dprintk("%s: failed to allocate shash descriptor for '%s'\n",
|
|
|
__func__, kctx->gk5e->cksum_name);
|