• Herbert Xu's avatar
    crypto: api - Add scaffolding to change completion function signature · c35e03ea
    Herbert Xu authored
    The crypto completion function currently takes a pointer to a
    struct crypto_async_request object.  However, in reality the API
    does not allow the use of any part of the object apart from the
    data field.  For example, ahash/shash will create a fake object
    on the stack to pass along a different data field.
    
    This leads to potential bugs where the user may try to dereference
    or otherwise use the crypto_async_request object.
    
    This patch adds some temporary scaffolding so that the completion
    function can take a void * instead.  Once affected users have been
    converted this can be removed.
    
    The helper crypto_request_complete will remain even after the
    conversion is complete.  It should be used instead of calling
    the completion function directly.
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    Reviewed-by: default avatarGiovanni Cabiddu <giovanni.cabiddu@intel.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    c35e03ea
algapi.h 8.37 KB