{
        struct hpre_ctx *ctx = kpp_tfm_ctx(tfm);
 
+       kpp_set_reqsize(tfm, sizeof(struct hpre_asym_request) + HPRE_ALIGN_SZ);
+
        return hpre_ctx_init(ctx, HPRE_V2_ALG_TYPE);
 }
 
                return PTR_ERR(ctx->rsa.soft_tfm);
        }
 
+       akcipher_set_reqsize(tfm, sizeof(struct hpre_asym_request) +
+                                 HPRE_ALIGN_SZ);
+
        ret = hpre_ctx_init(ctx, HPRE_V2_ALG_TYPE);
        if (ret)
                crypto_free_akcipher(ctx->rsa.soft_tfm);
 
        ctx->curve_id = ECC_CURVE_NIST_P192;
 
+       kpp_set_reqsize(tfm, sizeof(struct hpre_asym_request) + HPRE_ALIGN_SZ);
+
        return hpre_ctx_init(ctx, HPRE_V3_ECC_ALG_TYPE);
 }
 
 
        ctx->curve_id = ECC_CURVE_NIST_P256;
 
+       kpp_set_reqsize(tfm, sizeof(struct hpre_asym_request) + HPRE_ALIGN_SZ);
+
        return hpre_ctx_init(ctx, HPRE_V3_ECC_ALG_TYPE);
 }
 
 
        ctx->curve_id = ECC_CURVE_NIST_P384;
 
+       kpp_set_reqsize(tfm, sizeof(struct hpre_asym_request) + HPRE_ALIGN_SZ);
+
        return hpre_ctx_init(ctx, HPRE_V3_ECC_ALG_TYPE);
 }
 
 {
        struct hpre_ctx *ctx = kpp_tfm_ctx(tfm);
 
+       kpp_set_reqsize(tfm, sizeof(struct hpre_asym_request) + HPRE_ALIGN_SZ);
+
        return hpre_ctx_init(ctx, HPRE_V3_ECC_ALG_TYPE);
 }
 
        .max_size = hpre_rsa_max_size,
        .init = hpre_rsa_init_tfm,
        .exit = hpre_rsa_exit_tfm,
-       .reqsize = sizeof(struct hpre_asym_request) + HPRE_ALIGN_SZ,
        .base = {
                .cra_ctxsize = sizeof(struct hpre_ctx),
                .cra_priority = HPRE_CRYPTO_ALG_PRI,
        .max_size = hpre_dh_max_size,
        .init = hpre_dh_init_tfm,
        .exit = hpre_dh_exit_tfm,
-       .reqsize = sizeof(struct hpre_asym_request) + HPRE_ALIGN_SZ,
        .base = {
                .cra_ctxsize = sizeof(struct hpre_ctx),
                .cra_priority = HPRE_CRYPTO_ALG_PRI,
                .max_size = hpre_ecdh_max_size,
                .init = hpre_ecdh_nist_p192_init_tfm,
                .exit = hpre_ecdh_exit_tfm,
-               .reqsize = sizeof(struct hpre_asym_request) + HPRE_ALIGN_SZ,
                .base = {
                        .cra_ctxsize = sizeof(struct hpre_ctx),
                        .cra_priority = HPRE_CRYPTO_ALG_PRI,
                .max_size = hpre_ecdh_max_size,
                .init = hpre_ecdh_nist_p256_init_tfm,
                .exit = hpre_ecdh_exit_tfm,
-               .reqsize = sizeof(struct hpre_asym_request) + HPRE_ALIGN_SZ,
                .base = {
                        .cra_ctxsize = sizeof(struct hpre_ctx),
                        .cra_priority = HPRE_CRYPTO_ALG_PRI,
                .max_size = hpre_ecdh_max_size,
                .init = hpre_ecdh_nist_p384_init_tfm,
                .exit = hpre_ecdh_exit_tfm,
-               .reqsize = sizeof(struct hpre_asym_request) + HPRE_ALIGN_SZ,
                .base = {
                        .cra_ctxsize = sizeof(struct hpre_ctx),
                        .cra_priority = HPRE_CRYPTO_ALG_PRI,
        .max_size = hpre_curve25519_max_size,
        .init = hpre_curve25519_init_tfm,
        .exit = hpre_curve25519_exit_tfm,
-       .reqsize = sizeof(struct hpre_asym_request) + HPRE_ALIGN_SZ,
        .base = {
                .cra_ctxsize = sizeof(struct hpre_ctx),
                .cra_priority = HPRE_CRYPTO_ALG_PRI,