• Home
  • Raw
  • Download

Lines Matching refs:req

174 static int pkcs1pad_encrypt_sign_complete(struct akcipher_request *req, int err)  in pkcs1pad_encrypt_sign_complete()  argument
176 struct crypto_akcipher *tfm = crypto_akcipher_reqtfm(req); in pkcs1pad_encrypt_sign_complete()
178 struct pkcs1pad_request *req_ctx = akcipher_request_ctx(req); in pkcs1pad_encrypt_sign_complete()
198 sg_copy_to_buffer(req->dst, sg_nents_for_len(req->dst, len), in pkcs1pad_encrypt_sign_complete()
200 sg_copy_from_buffer(req->dst, in pkcs1pad_encrypt_sign_complete()
201 sg_nents_for_len(req->dst, ctx->key_size), in pkcs1pad_encrypt_sign_complete()
206 req->dst_len = ctx->key_size; in pkcs1pad_encrypt_sign_complete()
216 struct akcipher_request *req = child_async_req->data; in pkcs1pad_encrypt_sign_complete_cb() local
221 err = pkcs1pad_encrypt_sign_complete(req, err); in pkcs1pad_encrypt_sign_complete_cb()
224 akcipher_request_complete(req, err); in pkcs1pad_encrypt_sign_complete_cb()
227 static int pkcs1pad_encrypt(struct akcipher_request *req) in pkcs1pad_encrypt() argument
229 struct crypto_akcipher *tfm = crypto_akcipher_reqtfm(req); in pkcs1pad_encrypt()
231 struct pkcs1pad_request *req_ctx = akcipher_request_ctx(req); in pkcs1pad_encrypt()
238 if (req->src_len > ctx->key_size - 11) in pkcs1pad_encrypt()
241 if (req->dst_len < ctx->key_size) { in pkcs1pad_encrypt()
242 req->dst_len = ctx->key_size; in pkcs1pad_encrypt()
246 req_ctx->in_buf = kmalloc(ctx->key_size - 1 - req->src_len, in pkcs1pad_encrypt()
251 ps_end = ctx->key_size - req->src_len - 2; in pkcs1pad_encrypt()
258 ctx->key_size - 1 - req->src_len, req->src); in pkcs1pad_encrypt()
261 akcipher_request_set_callback(&req_ctx->child_req, req->base.flags, in pkcs1pad_encrypt()
262 pkcs1pad_encrypt_sign_complete_cb, req); in pkcs1pad_encrypt()
266 req->dst, ctx->key_size - 1, req->dst_len); in pkcs1pad_encrypt()
270 return pkcs1pad_encrypt_sign_complete(req, err); in pkcs1pad_encrypt()
275 static int pkcs1pad_decrypt_complete(struct akcipher_request *req, int err) in pkcs1pad_decrypt_complete() argument
277 struct crypto_akcipher *tfm = crypto_akcipher_reqtfm(req); in pkcs1pad_decrypt_complete()
279 struct pkcs1pad_request *req_ctx = akcipher_request_ctx(req); in pkcs1pad_decrypt_complete()
314 if (req->dst_len < dst_len - pos) in pkcs1pad_decrypt_complete()
316 req->dst_len = dst_len - pos; in pkcs1pad_decrypt_complete()
319 sg_copy_from_buffer(req->dst, in pkcs1pad_decrypt_complete()
320 sg_nents_for_len(req->dst, req->dst_len), in pkcs1pad_decrypt_complete()
321 out_buf + pos, req->dst_len); in pkcs1pad_decrypt_complete()
332 struct akcipher_request *req = child_async_req->data; in pkcs1pad_decrypt_complete_cb() local
337 err = pkcs1pad_decrypt_complete(req, err); in pkcs1pad_decrypt_complete_cb()
340 akcipher_request_complete(req, err); in pkcs1pad_decrypt_complete_cb()
343 static int pkcs1pad_decrypt(struct akcipher_request *req) in pkcs1pad_decrypt() argument
345 struct crypto_akcipher *tfm = crypto_akcipher_reqtfm(req); in pkcs1pad_decrypt()
347 struct pkcs1pad_request *req_ctx = akcipher_request_ctx(req); in pkcs1pad_decrypt()
350 if (!ctx->key_size || req->src_len != ctx->key_size) in pkcs1pad_decrypt()
361 akcipher_request_set_callback(&req_ctx->child_req, req->base.flags, in pkcs1pad_decrypt()
362 pkcs1pad_decrypt_complete_cb, req); in pkcs1pad_decrypt()
365 akcipher_request_set_crypt(&req_ctx->child_req, req->src, in pkcs1pad_decrypt()
366 req_ctx->out_sg, req->src_len, in pkcs1pad_decrypt()
371 return pkcs1pad_decrypt_complete(req, err); in pkcs1pad_decrypt()
376 static int pkcs1pad_sign(struct akcipher_request *req) in pkcs1pad_sign() argument
378 struct crypto_akcipher *tfm = crypto_akcipher_reqtfm(req); in pkcs1pad_sign()
380 struct pkcs1pad_request *req_ctx = akcipher_request_ctx(req); in pkcs1pad_sign()
393 if (req->src_len + digest_size > ctx->key_size - 11) in pkcs1pad_sign()
396 if (req->dst_len < ctx->key_size) { in pkcs1pad_sign()
397 req->dst_len = ctx->key_size; in pkcs1pad_sign()
401 req_ctx->in_buf = kmalloc(ctx->key_size - 1 - req->src_len, in pkcs1pad_sign()
406 ps_end = ctx->key_size - digest_size - req->src_len - 2; in pkcs1pad_sign()
416 ctx->key_size - 1 - req->src_len, req->src); in pkcs1pad_sign()
419 akcipher_request_set_callback(&req_ctx->child_req, req->base.flags, in pkcs1pad_sign()
420 pkcs1pad_encrypt_sign_complete_cb, req); in pkcs1pad_sign()
424 req->dst, ctx->key_size - 1, req->dst_len); in pkcs1pad_sign()
428 return pkcs1pad_encrypt_sign_complete(req, err); in pkcs1pad_sign()
433 static int pkcs1pad_verify_complete(struct akcipher_request *req, int err) in pkcs1pad_verify_complete() argument
435 struct crypto_akcipher *tfm = crypto_akcipher_reqtfm(req); in pkcs1pad_verify_complete()
437 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, req->src_len); 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
516 err = pkcs1pad_verify_complete(req, err); in pkcs1pad_verify_complete_cb()
519 akcipher_request_complete(req, err); in pkcs1pad_verify_complete_cb()
530 static int pkcs1pad_verify(struct akcipher_request *req) in pkcs1pad_verify() argument
532 struct crypto_akcipher *tfm = crypto_akcipher_reqtfm(req); in pkcs1pad_verify()
534 struct pkcs1pad_request *req_ctx = akcipher_request_ctx(req); in pkcs1pad_verify()
537 if (WARN_ON(req->dst) || in pkcs1pad_verify()
538 WARN_ON(!req->dst_len) || in pkcs1pad_verify()
539 !ctx->key_size || req->src_len != ctx->key_size) in pkcs1pad_verify()
542 req_ctx->out_buf = kmalloc(ctx->key_size + req->dst_len, GFP_KERNEL); in pkcs1pad_verify()
550 akcipher_request_set_callback(&req_ctx->child_req, req->base.flags, in pkcs1pad_verify()
551 pkcs1pad_verify_complete_cb, req); in pkcs1pad_verify()
554 akcipher_request_set_crypt(&req_ctx->child_req, req->src, in pkcs1pad_verify()
555 req_ctx->out_sg, req->src_len, in pkcs1pad_verify()
560 return pkcs1pad_verify_complete(req, err); in pkcs1pad_verify()