Hi, I have noticed very odd behavior with hmac calculation on my dual core, 4 HTs PC. I am using async hash API to to calculate hmac over the page. I am using "hmac(sha1)" and the same key to calculate different pages. I have a work queue, which calculates the hmac like... int() { tfm = crypto_alloc_ahash(...); } work_task() { crypto_ahash_setkey(tfm, key, keylen); crypto_ahash_digest(req); } HMAC result "sometimes" is incorrect. But when I move crypto_ahash_setkey() do the initialization code then HMAC result is always correct... (key is the same, so I can initialize it only once) int() { tfm = crypto_alloc_ahash(...); crypto_ahash_setkey(tfm, key, keylen); } work_task() { crypto_ahash_digest(req); } It seems that crypto_ahash_setkey() somehow sometimes does wrong things... I hope my explanation is clear. Any ideas why it might happen? Thanks, - Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html