[PATCH 1/3 V4] crypto: Fix the pointer voodoo in unaligned ahash
Herbert Xu
herbert at gondor.apana.org.au
Fri Mar 21 10:40:07 EDT 2014
On Fri, Mar 14, 2014 at 02:37:04AM +0100, Marek Vasut wrote:
> Add documentation for the pointer voodoo that is happening in crypto/ahash.c
> in ahash_op_unaligned(). This code is quite confusing, so add a beefy chunk
> of documentation.
>
> Moreover, make sure the mangled request is completely restored after finishing
> this unaligned operation. This means restoring all of .result, .base.data
> and .base.complete .
>
> Also, remove the crypto_completion_t complete = ... line present in the
> ahash_op_unaligned_done() function. This type actually declares a function
> pointer, which is very confusing.
>
> Finally, yet very important nonetheless, make sure the req->priv is free()'d
> only after the original request is restored in ahash_op_unaligned_done().
> The req->priv data must not be free()'d before that in ahash_op_unaligned_finish(),
> since we would be accessing previously free()'d data in ahash_op_unaligned_done()
> and cause corruption.
>
> Signed-off-by: Marek Vasut <marex at denx.de>
> Cc: David S. Miller <davem at davemloft.net>
> Cc: Fabio Estevam <fabio.estevam at freescale.com>
> Cc: Herbert Xu <herbert at gondor.apana.org.au>
> Cc: Shawn Guo <shawn.guo at linaro.org>
> Cc: Tom Lendacky <thomas.lendacky at amd.com>
All applied. Thanks Marek!
--
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