Hi all!
I am currently debugging a drivers for our crypto HW which offload
IPSec (ESP for now) to HW. With SHA driver I am facing a strange
problem. For reasons unknown to me 'authenc_verify_ahash_done' is
failing (http://lxr.linux.no/linux+v2.6.37/crypto/authenc.c). This api
got called from my SHA driver.
File:http://lxr.linux.no/linux+v2.6.37/crypto/authenc.c
224 authsize = crypto_aead_authsize(authenc);
225 cryptlen -= authsize;
226 ihash = ahreq->result + authsize;
227 scatterwalk_map_and_copy(ihash, areq_ctx->sg, areq_ctx->cryptlen,
228 authsize, 0);
229
230 err = memcmp(ihash, ahreq->result, authsize) ? -EBADMSG :
0; ------>> this is giving bad message.
I am trying to understand authenc_verify_ahash_done to debug this
issue. I do not know if authsize is wrong or scatterwalk_map_and_copy
was a failure or struct crypto_async_request *areq received is
corrupted. Since this API is not involved when I use s/w crypto I do
not have any working example to follow. Just wondering if anyone come
across any such problem or issue while developing H/W crypto driver.
I am using Linux 2.6.37 for my development.
Appreciate any suggestion/pointer regarding my problem.
SP