• Home
  • Raw
  • Download

Lines Matching refs:req

173 static int pkcs1pad_encrypt_sign_complete(struct akcipher_request *req, int err)  in pkcs1pad_encrypt_sign_complete()  argument
175 struct crypto_akcipher *tfm = crypto_akcipher_reqtfm(req); in pkcs1pad_encrypt_sign_complete()
177 struct pkcs1pad_request *req_ctx = akcipher_request_ctx(req); in pkcs1pad_encrypt_sign_complete()
197 sg_copy_to_buffer(req->dst, sg_nents_for_len(req->dst, len), in pkcs1pad_encrypt_sign_complete()
199 sg_copy_from_buffer(req->dst, in pkcs1pad_encrypt_sign_complete()
200 sg_nents_for_len(req->dst, ctx->key_size), in pkcs1pad_encrypt_sign_complete()
205 req->dst_len = ctx->key_size; in pkcs1pad_encrypt_sign_complete()
215 struct akcipher_request *req = child_async_req->data; in pkcs1pad_encrypt_sign_complete_cb() local
221 async_req.data = req->base.data; in pkcs1pad_encrypt_sign_complete_cb()
222 async_req.tfm = crypto_akcipher_tfm(crypto_akcipher_reqtfm(req)); in pkcs1pad_encrypt_sign_complete_cb()
224 req->base.complete(&async_req, in pkcs1pad_encrypt_sign_complete_cb()
225 pkcs1pad_encrypt_sign_complete(req, err)); in pkcs1pad_encrypt_sign_complete_cb()
228 static int pkcs1pad_encrypt(struct akcipher_request *req) in pkcs1pad_encrypt() argument
230 struct crypto_akcipher *tfm = crypto_akcipher_reqtfm(req); in pkcs1pad_encrypt()
232 struct pkcs1pad_request *req_ctx = akcipher_request_ctx(req); in pkcs1pad_encrypt()
239 if (req->src_len > ctx->key_size - 11) in pkcs1pad_encrypt()
242 if (req->dst_len < ctx->key_size) { in pkcs1pad_encrypt()
243 req->dst_len = ctx->key_size; in pkcs1pad_encrypt()
247 req_ctx->in_buf = kmalloc(ctx->key_size - 1 - req->src_len, in pkcs1pad_encrypt()
252 ps_end = ctx->key_size - req->src_len - 2; in pkcs1pad_encrypt()
259 ctx->key_size - 1 - req->src_len, req->src); in pkcs1pad_encrypt()
262 akcipher_request_set_callback(&req_ctx->child_req, req->base.flags, in pkcs1pad_encrypt()
263 pkcs1pad_encrypt_sign_complete_cb, req); in pkcs1pad_encrypt()
267 req->dst, ctx->key_size - 1, req->dst_len); in pkcs1pad_encrypt()
271 return pkcs1pad_encrypt_sign_complete(req, err); in pkcs1pad_encrypt()
276 static int pkcs1pad_decrypt_complete(struct akcipher_request *req, int err) in pkcs1pad_decrypt_complete() argument
278 struct crypto_akcipher *tfm = crypto_akcipher_reqtfm(req); in pkcs1pad_decrypt_complete()
280 struct pkcs1pad_request *req_ctx = akcipher_request_ctx(req); in pkcs1pad_decrypt_complete()
315 if (req->dst_len < dst_len - pos) in pkcs1pad_decrypt_complete()
317 req->dst_len = dst_len - pos; in pkcs1pad_decrypt_complete()
320 sg_copy_from_buffer(req->dst, in pkcs1pad_decrypt_complete()
321 sg_nents_for_len(req->dst, req->dst_len), in pkcs1pad_decrypt_complete()
322 out_buf + pos, req->dst_len); in pkcs1pad_decrypt_complete()
333 struct akcipher_request *req = child_async_req->data; in pkcs1pad_decrypt_complete_cb() local
339 async_req.data = req->base.data; in pkcs1pad_decrypt_complete_cb()
340 async_req.tfm = crypto_akcipher_tfm(crypto_akcipher_reqtfm(req)); in pkcs1pad_decrypt_complete_cb()
342 req->base.complete(&async_req, pkcs1pad_decrypt_complete(req, err)); in pkcs1pad_decrypt_complete_cb()
345 static int pkcs1pad_decrypt(struct akcipher_request *req) in pkcs1pad_decrypt() argument
347 struct crypto_akcipher *tfm = crypto_akcipher_reqtfm(req); in pkcs1pad_decrypt()
349 struct pkcs1pad_request *req_ctx = akcipher_request_ctx(req); in pkcs1pad_decrypt()
352 if (!ctx->key_size || req->src_len != ctx->key_size) in pkcs1pad_decrypt()
363 akcipher_request_set_callback(&req_ctx->child_req, req->base.flags, in pkcs1pad_decrypt()
364 pkcs1pad_decrypt_complete_cb, req); in pkcs1pad_decrypt()
367 akcipher_request_set_crypt(&req_ctx->child_req, req->src, in pkcs1pad_decrypt()
368 req_ctx->out_sg, req->src_len, in pkcs1pad_decrypt()
373 return pkcs1pad_decrypt_complete(req, err); in pkcs1pad_decrypt()
378 static int pkcs1pad_sign(struct akcipher_request *req) in pkcs1pad_sign() argument
380 struct crypto_akcipher *tfm = crypto_akcipher_reqtfm(req); in pkcs1pad_sign()
382 struct pkcs1pad_request *req_ctx = akcipher_request_ctx(req); in pkcs1pad_sign()
395 if (req->src_len + digest_size > ctx->key_size - 11) in pkcs1pad_sign()
398 if (req->dst_len < ctx->key_size) { in pkcs1pad_sign()
399 req->dst_len = ctx->key_size; in pkcs1pad_sign()
403 req_ctx->in_buf = kmalloc(ctx->key_size - 1 - req->src_len, in pkcs1pad_sign()
408 ps_end = ctx->key_size - digest_size - req->src_len - 2; in pkcs1pad_sign()
418 ctx->key_size - 1 - req->src_len, req->src); in pkcs1pad_sign()
421 akcipher_request_set_callback(&req_ctx->child_req, req->base.flags, in pkcs1pad_sign()
422 pkcs1pad_encrypt_sign_complete_cb, req); in pkcs1pad_sign()
426 req->dst, ctx->key_size - 1, req->dst_len); in pkcs1pad_sign()
430 return pkcs1pad_encrypt_sign_complete(req, err); in pkcs1pad_sign()
435 static int pkcs1pad_verify_complete(struct akcipher_request *req, int err) in pkcs1pad_verify_complete() argument
437 struct crypto_akcipher *tfm = crypto_akcipher_reqtfm(req); in pkcs1pad_verify_complete()
439 struct pkcs1pad_request *req_ctx = akcipher_request_ctx(req); in pkcs1pad_verify_complete()
487 if (req->dst_len != dst_len - pos) { in pkcs1pad_verify_complete()
489 req->dst_len = dst_len - pos; in pkcs1pad_verify_complete()
493 sg_pcopy_to_buffer(req->src, in pkcs1pad_verify_complete()
494 sg_nents_for_len(req->src, in pkcs1pad_verify_complete()
495 req->src_len + req->dst_len), in pkcs1pad_verify_complete()
497 req->dst_len, ctx->key_size); in pkcs1pad_verify_complete()
500 req->dst_len) != 0) in pkcs1pad_verify_complete()
511 struct akcipher_request *req = child_async_req->data; in pkcs1pad_verify_complete_cb() local
517 async_req.data = req->base.data; in pkcs1pad_verify_complete_cb()
518 async_req.tfm = crypto_akcipher_tfm(crypto_akcipher_reqtfm(req)); in pkcs1pad_verify_complete_cb()
520 req->base.complete(&async_req, pkcs1pad_verify_complete(req, err)); in pkcs1pad_verify_complete_cb()
531 static int pkcs1pad_verify(struct akcipher_request *req) in pkcs1pad_verify() argument
533 struct crypto_akcipher *tfm = crypto_akcipher_reqtfm(req); in pkcs1pad_verify()
535 struct pkcs1pad_request *req_ctx = akcipher_request_ctx(req); in pkcs1pad_verify()
538 if (WARN_ON(req->dst) || in pkcs1pad_verify()
539 WARN_ON(!req->dst_len) || in pkcs1pad_verify()
540 !ctx->key_size || req->src_len < ctx->key_size) in pkcs1pad_verify()
543 req_ctx->out_buf = kmalloc(ctx->key_size + req->dst_len, GFP_KERNEL); in pkcs1pad_verify()
551 akcipher_request_set_callback(&req_ctx->child_req, req->base.flags, in pkcs1pad_verify()
552 pkcs1pad_verify_complete_cb, req); in pkcs1pad_verify()
555 akcipher_request_set_crypt(&req_ctx->child_req, req->src, in pkcs1pad_verify()
556 req_ctx->out_sg, req->src_len, in pkcs1pad_verify()
561 return pkcs1pad_verify_complete(req, err); in pkcs1pad_verify()