Lines Matching refs:walk
116 struct skcipher_walk walk; in sm4_ecb_do_crypt() local
120 err = skcipher_walk_virt(&walk, req, false); in sm4_ecb_do_crypt()
122 while ((nbytes = walk.nbytes) > 0) { in sm4_ecb_do_crypt()
123 const u8 *src = walk.src.virt.addr; in sm4_ecb_do_crypt()
124 u8 *dst = walk.dst.virt.addr; in sm4_ecb_do_crypt()
137 err = skcipher_walk_done(&walk, nbytes); in sm4_ecb_do_crypt()
162 struct skcipher_walk walk; in sm4_cbc_crypt() local
166 err = skcipher_walk_virt(&walk, req, false); in sm4_cbc_crypt()
170 while ((nbytes = walk.nbytes) > 0) { in sm4_cbc_crypt()
171 const u8 *src = walk.src.virt.addr; in sm4_cbc_crypt()
172 u8 *dst = walk.dst.virt.addr; in sm4_cbc_crypt()
181 walk.iv, nblocks); in sm4_cbc_crypt()
184 walk.iv, nblocks); in sm4_cbc_crypt()
189 err = skcipher_walk_done(&walk, nbytes % SM4_BLOCK_SIZE); in sm4_cbc_crypt()
219 struct skcipher_walk walk; in sm4_cbc_cts_crypt() local
255 err = skcipher_walk_virt(&walk, &subreq, false); in sm4_cbc_cts_crypt()
262 sm4_ce_cbc_cts_enc(ctx->rkey_enc, walk.dst.virt.addr, in sm4_cbc_cts_crypt()
263 walk.src.virt.addr, walk.iv, walk.nbytes); in sm4_cbc_cts_crypt()
265 sm4_ce_cbc_cts_dec(ctx->rkey_dec, walk.dst.virt.addr, in sm4_cbc_cts_crypt()
266 walk.src.virt.addr, walk.iv, walk.nbytes); in sm4_cbc_cts_crypt()
270 return skcipher_walk_done(&walk, 0); in sm4_cbc_cts_crypt()
287 struct skcipher_walk walk; in sm4_cfb_encrypt() local
291 err = skcipher_walk_virt(&walk, req, false); in sm4_cfb_encrypt()
293 while ((nbytes = walk.nbytes) > 0) { in sm4_cfb_encrypt()
294 const u8 *src = walk.src.virt.addr; in sm4_cfb_encrypt()
295 u8 *dst = walk.dst.virt.addr; in sm4_cfb_encrypt()
302 sm4_ce_cfb_enc(ctx->rkey_enc, dst, src, walk.iv, nblks); in sm4_cfb_encrypt()
309 if (walk.nbytes == walk.total && nbytes > 0) { in sm4_cfb_encrypt()
312 sm4_ce_crypt_block(ctx->rkey_enc, keystream, walk.iv); in sm4_cfb_encrypt()
319 err = skcipher_walk_done(&walk, nbytes); in sm4_cfb_encrypt()
329 struct skcipher_walk walk; in sm4_cfb_decrypt() local
333 err = skcipher_walk_virt(&walk, req, false); in sm4_cfb_decrypt()
335 while ((nbytes = walk.nbytes) > 0) { in sm4_cfb_decrypt()
336 const u8 *src = walk.src.virt.addr; in sm4_cfb_decrypt()
337 u8 *dst = walk.dst.virt.addr; in sm4_cfb_decrypt()
344 sm4_ce_cfb_dec(ctx->rkey_enc, dst, src, walk.iv, nblks); in sm4_cfb_decrypt()
351 if (walk.nbytes == walk.total && nbytes > 0) { in sm4_cfb_decrypt()
354 sm4_ce_crypt_block(ctx->rkey_enc, keystream, walk.iv); in sm4_cfb_decrypt()
361 err = skcipher_walk_done(&walk, nbytes); in sm4_cfb_decrypt()
371 struct skcipher_walk walk; in sm4_ctr_crypt() local
375 err = skcipher_walk_virt(&walk, req, false); in sm4_ctr_crypt()
377 while ((nbytes = walk.nbytes) > 0) { in sm4_ctr_crypt()
378 const u8 *src = walk.src.virt.addr; in sm4_ctr_crypt()
379 u8 *dst = walk.dst.virt.addr; in sm4_ctr_crypt()
386 sm4_ce_ctr_enc(ctx->rkey_enc, dst, src, walk.iv, nblks); in sm4_ctr_crypt()
393 if (walk.nbytes == walk.total && nbytes > 0) { in sm4_ctr_crypt()
396 sm4_ce_crypt_block(ctx->rkey_enc, keystream, walk.iv); in sm4_ctr_crypt()
397 crypto_inc(walk.iv, SM4_BLOCK_SIZE); in sm4_ctr_crypt()
404 err = skcipher_walk_done(&walk, nbytes); in sm4_ctr_crypt()
419 struct skcipher_walk walk; in sm4_xts_crypt() local
426 err = skcipher_walk_virt(&walk, req, false); in sm4_xts_crypt()
430 if (unlikely(tail > 0 && walk.nbytes < walk.total)) { in sm4_xts_crypt()
433 skcipher_walk_abort(&walk); in sm4_xts_crypt()
442 err = skcipher_walk_virt(&walk, &subreq, false); in sm4_xts_crypt()
449 while ((nbytes = walk.nbytes) >= SM4_BLOCK_SIZE) { in sm4_xts_crypt()
450 if (nbytes < walk.total) in sm4_xts_crypt()
456 sm4_ce_xts_enc(ctx->key1.rkey_enc, walk.dst.virt.addr, in sm4_xts_crypt()
457 walk.src.virt.addr, walk.iv, nbytes, in sm4_xts_crypt()
460 sm4_ce_xts_dec(ctx->key1.rkey_dec, walk.dst.virt.addr, in sm4_xts_crypt()
461 walk.src.virt.addr, walk.iv, nbytes, in sm4_xts_crypt()
468 err = skcipher_walk_done(&walk, walk.nbytes - nbytes); in sm4_xts_crypt()
485 err = skcipher_walk_virt(&walk, &subreq, false); in sm4_xts_crypt()
492 sm4_ce_xts_enc(ctx->key1.rkey_enc, walk.dst.virt.addr, in sm4_xts_crypt()
493 walk.src.virt.addr, walk.iv, walk.nbytes, in sm4_xts_crypt()
496 sm4_ce_xts_dec(ctx->key1.rkey_dec, walk.dst.virt.addr, in sm4_xts_crypt()
497 walk.src.virt.addr, walk.iv, walk.nbytes, in sm4_xts_crypt()
502 return skcipher_walk_done(&walk, 0); in sm4_xts_crypt()