Lines Matching refs:walk

53 static void crypto_cfb_final(struct skcipher_walk *walk,  in crypto_cfb_final()  argument
59 u8 *src = walk->src.virt.addr; in crypto_cfb_final()
60 u8 *dst = walk->dst.virt.addr; in crypto_cfb_final()
61 u8 *iv = walk->iv; in crypto_cfb_final()
62 unsigned int nbytes = walk->nbytes; in crypto_cfb_final()
68 static int crypto_cfb_encrypt_segment(struct skcipher_walk *walk, in crypto_cfb_encrypt_segment() argument
72 unsigned int nbytes = walk->nbytes; in crypto_cfb_encrypt_segment()
73 u8 *src = walk->src.virt.addr; in crypto_cfb_encrypt_segment()
74 u8 *dst = walk->dst.virt.addr; in crypto_cfb_encrypt_segment()
75 u8 *iv = walk->iv; in crypto_cfb_encrypt_segment()
89 static int crypto_cfb_encrypt_inplace(struct skcipher_walk *walk, in crypto_cfb_encrypt_inplace() argument
93 unsigned int nbytes = walk->nbytes; in crypto_cfb_encrypt_inplace()
94 u8 *src = walk->src.virt.addr; in crypto_cfb_encrypt_inplace()
95 u8 *iv = walk->iv; in crypto_cfb_encrypt_inplace()
106 memcpy(walk->iv, iv, bsize); in crypto_cfb_encrypt_inplace()
114 struct skcipher_walk walk; in crypto_cfb_encrypt() local
118 err = skcipher_walk_virt(&walk, req, false); in crypto_cfb_encrypt()
120 while (walk.nbytes >= bsize) { in crypto_cfb_encrypt()
121 if (walk.src.virt.addr == walk.dst.virt.addr) in crypto_cfb_encrypt()
122 err = crypto_cfb_encrypt_inplace(&walk, tfm); in crypto_cfb_encrypt()
124 err = crypto_cfb_encrypt_segment(&walk, tfm); in crypto_cfb_encrypt()
125 err = skcipher_walk_done(&walk, err); in crypto_cfb_encrypt()
128 if (walk.nbytes) { in crypto_cfb_encrypt()
129 crypto_cfb_final(&walk, tfm); in crypto_cfb_encrypt()
130 err = skcipher_walk_done(&walk, 0); in crypto_cfb_encrypt()
136 static int crypto_cfb_decrypt_segment(struct skcipher_walk *walk, in crypto_cfb_decrypt_segment() argument
140 unsigned int nbytes = walk->nbytes; in crypto_cfb_decrypt_segment()
141 u8 *src = walk->src.virt.addr; in crypto_cfb_decrypt_segment()
142 u8 *dst = walk->dst.virt.addr; in crypto_cfb_decrypt_segment()
143 u8 *iv = walk->iv; in crypto_cfb_decrypt_segment()
154 memcpy(walk->iv, iv, bsize); in crypto_cfb_decrypt_segment()
159 static int crypto_cfb_decrypt_inplace(struct skcipher_walk *walk, in crypto_cfb_decrypt_inplace() argument
163 unsigned int nbytes = walk->nbytes; in crypto_cfb_decrypt_inplace()
164 u8 *src = walk->src.virt.addr; in crypto_cfb_decrypt_inplace()
165 u8 *iv = walk->iv; in crypto_cfb_decrypt_inplace()
175 memcpy(walk->iv, iv, bsize); in crypto_cfb_decrypt_inplace()
180 static int crypto_cfb_decrypt_blocks(struct skcipher_walk *walk, in crypto_cfb_decrypt_blocks() argument
183 if (walk->src.virt.addr == walk->dst.virt.addr) in crypto_cfb_decrypt_blocks()
184 return crypto_cfb_decrypt_inplace(walk, tfm); in crypto_cfb_decrypt_blocks()
186 return crypto_cfb_decrypt_segment(walk, tfm); in crypto_cfb_decrypt_blocks()
208 struct skcipher_walk walk; in crypto_cfb_decrypt() local
212 err = skcipher_walk_virt(&walk, req, false); in crypto_cfb_decrypt()
214 while (walk.nbytes >= bsize) { in crypto_cfb_decrypt()
215 err = crypto_cfb_decrypt_blocks(&walk, tfm); in crypto_cfb_decrypt()
216 err = skcipher_walk_done(&walk, err); in crypto_cfb_decrypt()
219 if (walk.nbytes) { in crypto_cfb_decrypt()
220 crypto_cfb_final(&walk, tfm); in crypto_cfb_decrypt()
221 err = skcipher_walk_done(&walk, 0); in crypto_cfb_decrypt()