On Fri, Aug 29, 2014 at 03:58:55PM +0200, Steffen Trumtrar wrote:
> 
> On Fri, Aug 29, 2014 at 09:44:42PM +0800, Herbert Xu wrote:
> > On Mon, Aug 18, 2014 at 03:13:39PM +0200, Steffen Trumtrar wrote:
> > >
> > > +struct sahara_sha_reqctx {
> > > + unsigned int mode;
> > > + unsigned int digest_size;
> > > + unsigned int context_size;
> > > + u8 buf[SAHARA_MAX_SHA_BLOCK_SIZE];
> > > + unsigned int buf_cnt;
> > > + unsigned int hash_rem;
> > > + struct sg_table data_sg;
> > > + struct scatterlist buf_sg;
> > > + unsigned int sg_in_idx;
> > > + unsigned int result_idx;
> > > +};
> > 
> > So where is the hash state stored?
> > 
> 
> The hash state is stored in the context_base variable in sahara_dev.
> Freescale calls it context in their driver (the only source of information
> I have to develop a GPL driver).
> To simplify the driver I allocated the context also as dma_alloc_coherent,
> same as the key_base for AES.

Hmm that's a bit of a problem because our API requires the hash
state to be stored in the request as otherwise a new request
belonging to a different hash computation will cause corruption.

Cheers,
-- 
Email: Herbert Xu <herb...@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to