• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/crypto/

Lines Matching refs:tfm

42 static inline struct padlock_sha_ctx *ctx(struct crypto_tfm *tfm)
44 return crypto_tfm_ctx(tfm);
53 static void padlock_sha_bypass(struct crypto_tfm *tfm)
55 if (ctx(tfm)->bypass)
58 crypto_hash_init(&ctx(tfm)->fallback);
59 if (ctx(tfm)->data && ctx(tfm)->used) {
62 sg_set_buf(&sg, ctx(tfm)->data, ctx(tfm)->used);
63 crypto_hash_update(&ctx(tfm)->fallback, &sg, sg.length);
66 ctx(tfm)->used = 0;
67 ctx(tfm)->bypass = 1;
70 static void padlock_sha_init(struct crypto_tfm *tfm)
72 ctx(tfm)->used = 0;
73 ctx(tfm)->bypass = 0;
76 static void padlock_sha_update(struct crypto_tfm *tfm,
80 if (unlikely(!ctx(tfm)->bypass &&
81 (ctx(tfm)->used + length > PAGE_SIZE)))
82 padlock_sha_bypass(tfm);
84 if (unlikely(ctx(tfm)->bypass)) {
87 crypto_hash_update(&ctx(tfm)->fallback, &sg, length);
91 memcpy(ctx(tfm)->data + ctx(tfm)->used, data, length);
92 ctx(tfm)->used += length;
147 static void padlock_sha_final(struct crypto_tfm *tfm, uint8_t *out)
149 if (unlikely(ctx(tfm)->bypass)) {
150 crypto_hash_final(&ctx(tfm)->fallback, out);
151 ctx(tfm)->bypass = 0;
156 ctx(tfm)->f_sha_padlock(ctx(tfm)->data, out, ctx(tfm)->used);
158 ctx(tfm)->used = 0;
161 static int padlock_cra_init(struct crypto_tfm *tfm)
163 const char *fallback_driver_name = tfm->__crt_alg->cra_name;
168 ctx(tfm)->data = (char *)__get_free_page(GFP_KERNEL);
169 if (!ctx(tfm)->data)
179 free_page((unsigned long)(ctx(tfm)->data));
183 ctx(tfm)->fallback.tfm = fallback_tfm;
187 static int padlock_sha1_cra_init(struct crypto_tfm *tfm)
189 ctx(tfm)->f_sha_padlock = padlock_do_sha1;
191 return padlock_cra_init(tfm);
194 static int padlock_sha256_cra_init(struct crypto_tfm *tfm)
196 ctx(tfm)->f_sha_padlock = padlock_do_sha256;
198 return padlock_cra_init(tfm);
201 static void padlock_cra_exit(struct crypto_tfm *tfm)
203 if (ctx(tfm)->data) {
204 free_page((unsigned long)(ctx(tfm)->data));
205 ctx(tfm)->data = NULL;
208 crypto_free_hash(ctx(tfm)->fallback.tfm);
209 ctx(tfm)->fallback.tfm = NULL;