On Thu, May 14, 2015 at 02:59:01PM +0200, LABBE Corentin wrote: > > +int sun4i_hash_export(struct ahash_request *areq, void *out) > +{ > + struct sun4i_req_ctx *op = ahash_request_ctx(areq); > + > + memcpy(out, op, sizeof(struct sun4i_req_ctx)); > + return 0; > +} > + > +int sun4i_hash_import(struct ahash_request *areq, const void *in) > +{ > + struct sun4i_req_ctx *op = ahash_request_ctx(areq); > + > + memcpy(op, in, sizeof(struct sun4i_req_ctx)); This is very wrong. You're importing an arbitrary ss pointer. The whole point of having an import function instead of just a simple memcpy is to deal with such problems. Cheers, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html