H A D | padlock-aes.c | 40 struct cword { struct 52 * and cword aligned on 16 Bytes boundaries and 63 struct cword encrypt; 64 struct cword decrypt; 65 } cword; member in struct:aes_ctx 69 static DEFINE_PER_CPU(struct cword *, paes_last_cword); 131 memset(&ctx->cword, 0, sizeof(ctx->cword)); aes_set_key() 133 ctx->cword.decrypt.encdec = 1; aes_set_key() 134 ctx->cword.encrypt.rounds = 10 + (key_len - 16) / 4; aes_set_key() 135 ctx->cword.decrypt.rounds = ctx->cword.encrypt.rounds; aes_set_key() 136 ctx->cword.encrypt.ksize = (key_len - 16) / 8; aes_set_key() 137 ctx->cword.decrypt.ksize = ctx->cword.encrypt.ksize; aes_set_key() 144 ctx->cword.encrypt.keygen = 1; aes_set_key() 145 ctx->cword.decrypt.keygen = 1; aes_set_key() 157 if (&ctx->cword.encrypt == per_cpu(paes_last_cword, cpu) || aes_set_key() 158 &ctx->cword.decrypt == per_cpu(paes_last_cword, cpu)) aes_set_key() 167 static inline void padlock_reset_key(struct cword *cword) padlock_reset_key() argument 171 if (cword != per_cpu(paes_last_cword, cpu)) padlock_reset_key() 179 static inline void padlock_store_cword(struct cword *cword) padlock_store_cword() argument 181 per_cpu(paes_last_cword, raw_smp_processor_id()) = cword; padlock_store_cword() 191 struct cword *control_word, int count) rep_xcrypt_ecb() 199 u8 *iv, struct cword *control_word, int count) rep_xcrypt_cbc() 208 struct cword *cword, int count) ecb_crypt_copy() 218 rep_xcrypt_ecb(tmp, out, key, cword, count); ecb_crypt_copy() 222 u8 *iv, struct cword *cword, int count) cbc_crypt_copy() 232 return rep_xcrypt_cbc(tmp, out, key, iv, cword, count); cbc_crypt_copy() 236 struct cword *cword, int count) ecb_crypt() 242 ecb_crypt_copy(in, out, key, cword, count); ecb_crypt() 246 rep_xcrypt_ecb(in, out, key, cword, count); ecb_crypt() 250 u8 *iv, struct cword *cword, int count) cbc_crypt() 254 return cbc_crypt_copy(in, out, key, iv, cword, count); cbc_crypt() 256 return rep_xcrypt_cbc(in, out, key, iv, cword, count); cbc_crypt() 303 padlock_reset_key(&ctx->cword.encrypt); aes_encrypt() 305 ecb_crypt(in, out, ctx->E, &ctx->cword.encrypt, 1); aes_encrypt() 307 padlock_store_cword(&ctx->cword.encrypt); aes_encrypt() 315 padlock_reset_key(&ctx->cword.encrypt); aes_decrypt() 317 ecb_crypt(in, out, ctx->D, &ctx->cword.decrypt, 1); aes_decrypt() 319 padlock_store_cword(&ctx->cword.encrypt); aes_decrypt() 351 padlock_reset_key(&ctx->cword.encrypt); ecb_aes_encrypt() 359 ctx->E, &ctx->cword.encrypt, ecb_aes_encrypt() 366 padlock_store_cword(&ctx->cword.encrypt); ecb_aes_encrypt() 380 padlock_reset_key(&ctx->cword.decrypt); ecb_aes_decrypt() 388 ctx->D, &ctx->cword.decrypt, ecb_aes_decrypt() 395 padlock_store_cword(&ctx->cword.encrypt); ecb_aes_decrypt() 430 padlock_reset_key(&ctx->cword.encrypt); cbc_aes_encrypt() 439 walk.iv, &ctx->cword.encrypt, cbc_aes_encrypt() 447 padlock_store_cword(&ctx->cword.decrypt); cbc_aes_encrypt() 461 padlock_reset_key(&ctx->cword.encrypt); cbc_aes_decrypt() 469 ctx->D, walk.iv, &ctx->cword.decrypt, cbc_aes_decrypt() 477 padlock_store_cword(&ctx->cword.encrypt); cbc_aes_decrypt() 207 ecb_crypt_copy(const u8 *in, u8 *out, u32 *key, struct cword *cword, int count) ecb_crypt_copy() argument 221 cbc_crypt_copy(const u8 *in, u8 *out, u32 *key, u8 *iv, struct cword *cword, int count) cbc_crypt_copy() argument 235 ecb_crypt(const u8 *in, u8 *out, u32 *key, struct cword *cword, int count) ecb_crypt() argument 249 cbc_crypt(const u8 *in, u8 *out, u32 *key, u8 *iv, struct cword *cword, int count) cbc_crypt() argument
|