Lines Matching refs:ctx
149 struct aspeed_acry_ctx *ctx = akcipher_tfm_ctx(cipher);
152 akcipher_request_set_tfm(req, ctx->fallback_tfm);
154 if (ctx->enc)
167 struct aspeed_acry_ctx *ctx = akcipher_tfm_ctx(cipher);
169 return ctx->key.n_sz > ASPEED_ACRY_RSA_MAX_KEY_LEN;
187 struct aspeed_acry_ctx *ctx = akcipher_tfm_ctx(cipher);
188 struct aspeed_acry_dev *acry_dev = ctx->acry_dev;
193 return ctx->trigger(acry_dev);
351 struct aspeed_acry_ctx *ctx = akcipher_tfm_ctx(cipher);
354 if (!ctx->n || !ctx->n_sz) {
365 nm = aspeed_acry_rsa_ctx_copy(acry_dev, acry_dev->buf_addr, ctx->n,
366 ctx->n_sz, ASPEED_RSA_MOD_MODE);
367 if (ctx->enc) {
368 if (!ctx->e || !ctx->e_sz) {
375 ctx->e, ctx->e_sz,
378 if (!ctx->d || !ctx->d_sz) {
385 ctx->key.d, ctx->key.d_sz,
416 struct aspeed_acry_ctx *ctx = akcipher_tfm_ctx(cipher);
417 struct aspeed_acry_dev *acry_dev = ctx->acry_dev;
419 ctx->trigger = aspeed_acry_rsa_trigger;
420 ctx->enc = 1;
428 struct aspeed_acry_ctx *ctx = akcipher_tfm_ctx(cipher);
429 struct aspeed_acry_dev *acry_dev = ctx->acry_dev;
431 ctx->trigger = aspeed_acry_rsa_trigger;
432 ctx->enc = 0;
442 static int aspeed_rsa_set_n(struct aspeed_acry_ctx *ctx, u8 *value,
445 ctx->n_sz = len;
446 ctx->n = aspeed_rsa_key_copy(value, len);
447 if (!ctx->n)
453 static int aspeed_rsa_set_e(struct aspeed_acry_ctx *ctx, u8 *value,
456 ctx->e_sz = len;
457 ctx->e = aspeed_rsa_key_copy(value, len);
458 if (!ctx->e)
464 static int aspeed_rsa_set_d(struct aspeed_acry_ctx *ctx, u8 *value,
467 ctx->d_sz = len;
468 ctx->d = aspeed_rsa_key_copy(value, len);
469 if (!ctx->d)
475 static void aspeed_rsa_key_free(struct aspeed_acry_ctx *ctx)
477 kfree_sensitive(ctx->n);
478 kfree_sensitive(ctx->e);
479 kfree_sensitive(ctx->d);
480 ctx->n_sz = 0;
481 ctx->e_sz = 0;
482 ctx->d_sz = 0;
488 struct aspeed_acry_ctx *ctx = akcipher_tfm_ctx(tfm);
489 struct aspeed_acry_dev *acry_dev = ctx->acry_dev;
493 ret = rsa_parse_priv_key(&ctx->key, key, keylen);
495 ret = rsa_parse_pub_key(&ctx->key, key, keylen);
506 if (ctx->key.n_sz > ASPEED_ACRY_RSA_MAX_KEY_LEN)
509 ret = aspeed_rsa_set_n(ctx, (u8 *)ctx->key.n, ctx->key.n_sz);
513 ret = aspeed_rsa_set_e(ctx, (u8 *)ctx->key.e, ctx->key.e_sz);
518 ret = aspeed_rsa_set_d(ctx, (u8 *)ctx->key.d, ctx->key.d_sz);
527 aspeed_rsa_key_free(ctx);
536 struct aspeed_acry_ctx *ctx = akcipher_tfm_ctx(tfm);
539 ret = crypto_akcipher_set_pub_key(ctx->fallback_tfm, key, keylen);
550 struct aspeed_acry_ctx *ctx = akcipher_tfm_ctx(tfm);
553 ret = crypto_akcipher_set_priv_key(ctx->fallback_tfm, key, keylen);
562 struct aspeed_acry_ctx *ctx = akcipher_tfm_ctx(tfm);
564 if (ctx->key.n_sz > ASPEED_ACRY_RSA_MAX_KEY_LEN)
565 return crypto_akcipher_maxsize(ctx->fallback_tfm);
567 return ctx->n_sz;
572 struct aspeed_acry_ctx *ctx = akcipher_tfm_ctx(tfm);
579 ctx->acry_dev = acry_alg->acry_dev;
581 ctx->fallback_tfm = crypto_alloc_akcipher(name, 0, CRYPTO_ALG_ASYNC |
583 if (IS_ERR(ctx->fallback_tfm)) {
584 dev_err(ctx->acry_dev->dev, "ERROR: Cannot allocate fallback for %s %ld\n",
585 name, PTR_ERR(ctx->fallback_tfm));
586 return PTR_ERR(ctx->fallback_tfm);
594 struct aspeed_acry_ctx *ctx = akcipher_tfm_ctx(tfm);
596 crypto_free_akcipher(ctx->fallback_tfm);