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@xxxxxxx> > Cc: David S. Miller <davem@xxxxxxxxxxxxx> > Cc: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> > Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> > Cc: Shawn Guo <shawn.guo@xxxxxxxxxx> > Cc: Tom Lendacky <thomas.lendacky@xxxxxxx> All applied. Thanks Marek! -- 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