[PATCH v9 4/4] crypto: Add Allwinner Security System crypto accelerator

Herbert Xu herbert at gondor.apana.org.au
Thu May 14 23:52:22 PDT 2015


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 at gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt



More information about the linux-arm-kernel mailing list