Lines Matching refs:walk
16 static int crypto_cbc_encrypt_segment(struct skcipher_walk *walk, in crypto_cbc_encrypt_segment() argument
21 unsigned int nbytes = walk->nbytes; in crypto_cbc_encrypt_segment()
22 u8 *src = walk->src.virt.addr; in crypto_cbc_encrypt_segment()
23 u8 *dst = walk->dst.virt.addr; in crypto_cbc_encrypt_segment()
26 u8 *iv = walk->iv; in crypto_cbc_encrypt_segment()
44 static int crypto_cbc_encrypt_inplace(struct skcipher_walk *walk, in crypto_cbc_encrypt_inplace() argument
49 unsigned int nbytes = walk->nbytes; in crypto_cbc_encrypt_inplace()
50 u8 *src = walk->src.virt.addr; in crypto_cbc_encrypt_inplace()
53 u8 *iv = walk->iv; in crypto_cbc_encrypt_inplace()
67 memcpy(walk->iv, iv, bsize); in crypto_cbc_encrypt_inplace()
75 struct skcipher_walk walk; in crypto_cbc_encrypt() local
78 err = skcipher_walk_virt(&walk, req, false); in crypto_cbc_encrypt()
80 while (walk.nbytes) { in crypto_cbc_encrypt()
81 if (walk.src.virt.addr == walk.dst.virt.addr) in crypto_cbc_encrypt()
82 err = crypto_cbc_encrypt_inplace(&walk, skcipher); in crypto_cbc_encrypt()
84 err = crypto_cbc_encrypt_segment(&walk, skcipher); in crypto_cbc_encrypt()
85 err = skcipher_walk_done(&walk, err); in crypto_cbc_encrypt()
91 static int crypto_cbc_decrypt_segment(struct skcipher_walk *walk, in crypto_cbc_decrypt_segment() argument
96 unsigned int nbytes = walk->nbytes; in crypto_cbc_decrypt_segment()
97 u8 *src = walk->src.virt.addr; in crypto_cbc_decrypt_segment()
98 u8 *dst = walk->dst.virt.addr; in crypto_cbc_decrypt_segment()
101 u8 *iv = walk->iv; in crypto_cbc_decrypt_segment()
116 memcpy(walk->iv, iv, bsize); in crypto_cbc_decrypt_segment()
121 static int crypto_cbc_decrypt_inplace(struct skcipher_walk *walk, in crypto_cbc_decrypt_inplace() argument
126 unsigned int nbytes = walk->nbytes; in crypto_cbc_decrypt_inplace()
127 u8 *src = walk->src.virt.addr; in crypto_cbc_decrypt_inplace()
148 crypto_xor(src, walk->iv, bsize); in crypto_cbc_decrypt_inplace()
149 memcpy(walk->iv, last_iv, bsize); in crypto_cbc_decrypt_inplace()
157 struct skcipher_walk walk; in crypto_cbc_decrypt() local
160 err = skcipher_walk_virt(&walk, req, false); in crypto_cbc_decrypt()
162 while (walk.nbytes) { in crypto_cbc_decrypt()
163 if (walk.src.virt.addr == walk.dst.virt.addr) in crypto_cbc_decrypt()
164 err = crypto_cbc_decrypt_inplace(&walk, skcipher); in crypto_cbc_decrypt()
166 err = crypto_cbc_decrypt_segment(&walk, skcipher); in crypto_cbc_decrypt()
167 err = skcipher_walk_done(&walk, err); in crypto_cbc_decrypt()