Lines Matching refs:walk
42 static void crypto_cfb_final(struct skcipher_walk *walk, in crypto_cfb_final() argument
48 u8 *src = walk->src.virt.addr; in crypto_cfb_final()
49 u8 *dst = walk->dst.virt.addr; in crypto_cfb_final()
50 u8 *iv = walk->iv; in crypto_cfb_final()
51 unsigned int nbytes = walk->nbytes; in crypto_cfb_final()
57 static int crypto_cfb_encrypt_segment(struct skcipher_walk *walk, in crypto_cfb_encrypt_segment() argument
61 unsigned int nbytes = walk->nbytes; in crypto_cfb_encrypt_segment()
62 u8 *src = walk->src.virt.addr; in crypto_cfb_encrypt_segment()
63 u8 *dst = walk->dst.virt.addr; in crypto_cfb_encrypt_segment()
64 u8 *iv = walk->iv; in crypto_cfb_encrypt_segment()
75 memcpy(walk->iv, iv, bsize); in crypto_cfb_encrypt_segment()
80 static int crypto_cfb_encrypt_inplace(struct skcipher_walk *walk, in crypto_cfb_encrypt_inplace() argument
84 unsigned int nbytes = walk->nbytes; in crypto_cfb_encrypt_inplace()
85 u8 *src = walk->src.virt.addr; in crypto_cfb_encrypt_inplace()
86 u8 *iv = walk->iv; in crypto_cfb_encrypt_inplace()
97 memcpy(walk->iv, iv, bsize); in crypto_cfb_encrypt_inplace()
105 struct skcipher_walk walk; in crypto_cfb_encrypt() local
109 err = skcipher_walk_virt(&walk, req, false); in crypto_cfb_encrypt()
111 while (walk.nbytes >= bsize) { in crypto_cfb_encrypt()
112 if (walk.src.virt.addr == walk.dst.virt.addr) in crypto_cfb_encrypt()
113 err = crypto_cfb_encrypt_inplace(&walk, tfm); in crypto_cfb_encrypt()
115 err = crypto_cfb_encrypt_segment(&walk, tfm); in crypto_cfb_encrypt()
116 err = skcipher_walk_done(&walk, err); in crypto_cfb_encrypt()
119 if (walk.nbytes) { in crypto_cfb_encrypt()
120 crypto_cfb_final(&walk, tfm); in crypto_cfb_encrypt()
121 err = skcipher_walk_done(&walk, 0); in crypto_cfb_encrypt()
127 static int crypto_cfb_decrypt_segment(struct skcipher_walk *walk, in crypto_cfb_decrypt_segment() argument
131 unsigned int nbytes = walk->nbytes; in crypto_cfb_decrypt_segment()
132 u8 *src = walk->src.virt.addr; in crypto_cfb_decrypt_segment()
133 u8 *dst = walk->dst.virt.addr; in crypto_cfb_decrypt_segment()
134 u8 *iv = walk->iv; in crypto_cfb_decrypt_segment()
145 memcpy(walk->iv, iv, bsize); in crypto_cfb_decrypt_segment()
150 static int crypto_cfb_decrypt_inplace(struct skcipher_walk *walk, in crypto_cfb_decrypt_inplace() argument
154 unsigned int nbytes = walk->nbytes; in crypto_cfb_decrypt_inplace()
155 u8 *src = walk->src.virt.addr; in crypto_cfb_decrypt_inplace()
156 u8 * const iv = walk->iv; in crypto_cfb_decrypt_inplace()
169 static int crypto_cfb_decrypt_blocks(struct skcipher_walk *walk, in crypto_cfb_decrypt_blocks() argument
172 if (walk->src.virt.addr == walk->dst.virt.addr) in crypto_cfb_decrypt_blocks()
173 return crypto_cfb_decrypt_inplace(walk, tfm); in crypto_cfb_decrypt_blocks()
175 return crypto_cfb_decrypt_segment(walk, tfm); in crypto_cfb_decrypt_blocks()
181 struct skcipher_walk walk; in crypto_cfb_decrypt() local
185 err = skcipher_walk_virt(&walk, req, false); in crypto_cfb_decrypt()
187 while (walk.nbytes >= bsize) { in crypto_cfb_decrypt()
188 err = crypto_cfb_decrypt_blocks(&walk, tfm); in crypto_cfb_decrypt()
189 err = skcipher_walk_done(&walk, err); in crypto_cfb_decrypt()
192 if (walk.nbytes) { in crypto_cfb_decrypt()
193 crypto_cfb_final(&walk, tfm); in crypto_cfb_decrypt()
194 err = skcipher_walk_done(&walk, 0); in crypto_cfb_decrypt()