Lines Matching refs:walk

109 	struct blkcipher_walk walk;  in aesbs_cbc_encrypt()  local
112 blkcipher_walk_init(&walk, dst, src, nbytes); in aesbs_cbc_encrypt()
113 err = blkcipher_walk_virt(desc, &walk); in aesbs_cbc_encrypt()
115 while (walk.nbytes) { in aesbs_cbc_encrypt()
116 u32 blocks = walk.nbytes / AES_BLOCK_SIZE; in aesbs_cbc_encrypt()
117 u8 *src = walk.src.virt.addr; in aesbs_cbc_encrypt()
119 if (walk.dst.virt.addr == walk.src.virt.addr) { in aesbs_cbc_encrypt()
120 u8 *iv = walk.iv; in aesbs_cbc_encrypt()
128 memcpy(walk.iv, iv, AES_BLOCK_SIZE); in aesbs_cbc_encrypt()
130 u8 *dst = walk.dst.virt.addr; in aesbs_cbc_encrypt()
133 crypto_xor(walk.iv, src, AES_BLOCK_SIZE); in aesbs_cbc_encrypt()
134 AES_encrypt(walk.iv, dst, &ctx->enc); in aesbs_cbc_encrypt()
135 memcpy(walk.iv, dst, AES_BLOCK_SIZE); in aesbs_cbc_encrypt()
140 err = blkcipher_walk_done(desc, &walk, walk.nbytes % AES_BLOCK_SIZE); in aesbs_cbc_encrypt()
150 struct blkcipher_walk walk; in aesbs_cbc_decrypt() local
153 blkcipher_walk_init(&walk, dst, src, nbytes); in aesbs_cbc_decrypt()
154 err = blkcipher_walk_virt_block(desc, &walk, 8 * AES_BLOCK_SIZE); in aesbs_cbc_decrypt()
156 while ((walk.nbytes / AES_BLOCK_SIZE) >= 8) { in aesbs_cbc_decrypt()
158 bsaes_cbc_encrypt(walk.src.virt.addr, walk.dst.virt.addr, in aesbs_cbc_decrypt()
159 walk.nbytes, &ctx->dec, walk.iv); in aesbs_cbc_decrypt()
161 err = blkcipher_walk_done(desc, &walk, walk.nbytes % AES_BLOCK_SIZE); in aesbs_cbc_decrypt()
163 while (walk.nbytes) { in aesbs_cbc_decrypt()
164 u32 blocks = walk.nbytes / AES_BLOCK_SIZE; in aesbs_cbc_decrypt()
165 u8 *dst = walk.dst.virt.addr; in aesbs_cbc_decrypt()
166 u8 *src = walk.src.virt.addr; in aesbs_cbc_decrypt()
168 u8 *iv = walk.iv; in aesbs_cbc_decrypt()
171 if (walk.dst.virt.addr == walk.src.virt.addr) in aesbs_cbc_decrypt()
177 if (walk.dst.virt.addr == walk.src.virt.addr) in aesbs_cbc_decrypt()
185 err = blkcipher_walk_done(desc, &walk, walk.nbytes % AES_BLOCK_SIZE); in aesbs_cbc_decrypt()
208 struct blkcipher_walk walk; in aesbs_ctr_encrypt() local
212 blkcipher_walk_init(&walk, dst, src, nbytes); in aesbs_ctr_encrypt()
213 err = blkcipher_walk_virt_block(desc, &walk, 8 * AES_BLOCK_SIZE); in aesbs_ctr_encrypt()
215 while ((blocks = walk.nbytes / AES_BLOCK_SIZE)) { in aesbs_ctr_encrypt()
216 u32 tail = walk.nbytes % AES_BLOCK_SIZE; in aesbs_ctr_encrypt()
217 __be32 *ctr = (__be32 *)walk.iv; in aesbs_ctr_encrypt()
223 tail = walk.nbytes - blocks * AES_BLOCK_SIZE; in aesbs_ctr_encrypt()
226 bsaes_ctr32_encrypt_blocks(walk.src.virt.addr, in aesbs_ctr_encrypt()
227 walk.dst.virt.addr, blocks, in aesbs_ctr_encrypt()
228 &ctx->enc, walk.iv); in aesbs_ctr_encrypt()
236 err = blkcipher_walk_done(desc, &walk, tail); in aesbs_ctr_encrypt()
238 if (walk.nbytes) { in aesbs_ctr_encrypt()
239 u8 *tdst = walk.dst.virt.addr + blocks * AES_BLOCK_SIZE; in aesbs_ctr_encrypt()
240 u8 *tsrc = walk.src.virt.addr + blocks * AES_BLOCK_SIZE; in aesbs_ctr_encrypt()
243 AES_encrypt(walk.iv, ks, &ctx->enc.rk); in aesbs_ctr_encrypt()
247 err = blkcipher_walk_done(desc, &walk, 0); in aesbs_ctr_encrypt()
257 struct blkcipher_walk walk; in aesbs_xts_encrypt() local
260 blkcipher_walk_init(&walk, dst, src, nbytes); in aesbs_xts_encrypt()
261 err = blkcipher_walk_virt_block(desc, &walk, 8 * AES_BLOCK_SIZE); in aesbs_xts_encrypt()
264 AES_encrypt(walk.iv, walk.iv, &ctx->twkey); in aesbs_xts_encrypt()
266 while (walk.nbytes) { in aesbs_xts_encrypt()
268 bsaes_xts_encrypt(walk.src.virt.addr, walk.dst.virt.addr, in aesbs_xts_encrypt()
269 walk.nbytes, &ctx->enc, walk.iv); in aesbs_xts_encrypt()
271 err = blkcipher_walk_done(desc, &walk, walk.nbytes % AES_BLOCK_SIZE); in aesbs_xts_encrypt()
281 struct blkcipher_walk walk; in aesbs_xts_decrypt() local
284 blkcipher_walk_init(&walk, dst, src, nbytes); in aesbs_xts_decrypt()
285 err = blkcipher_walk_virt_block(desc, &walk, 8 * AES_BLOCK_SIZE); in aesbs_xts_decrypt()
288 AES_encrypt(walk.iv, walk.iv, &ctx->twkey); in aesbs_xts_decrypt()
290 while (walk.nbytes) { in aesbs_xts_decrypt()
292 bsaes_xts_decrypt(walk.src.virt.addr, walk.dst.virt.addr, in aesbs_xts_decrypt()
293 walk.nbytes, &ctx->dec, walk.iv); in aesbs_xts_decrypt()
295 err = blkcipher_walk_done(desc, &walk, walk.nbytes % AES_BLOCK_SIZE); in aesbs_xts_decrypt()