Skip to content
  • Stephan Mueller's avatar
    crypto: algif_skcipher - overhaul memory management · e870456d
    Stephan Mueller authored
    
    
    The updated memory management is described in the top part of the code.
    As one benefit of the changed memory management, the AIO and synchronous
    operation is now implemented in one common function. The AF_ALG
    operation uses the async kernel crypto API interface for each cipher
    operation. Thus, the only difference between the AIO and sync operation
    types visible from user space is:
    
    1. the callback function to be invoked when the asynchronous operation
       is completed
    
    2. whether to wait for the completion of the kernel crypto API operation
       or not
    
    In addition, the code structure is adjusted to match the structure of
    algif_aead for easier code assessment.
    
    The user space interface changed slightly as follows: the old AIO
    operation returned zero upon success and < 0 in case of an error to user
    space. As all other AF_ALG interfaces (including the sync skcipher
    interface) returned the number of processed bytes upon success and < 0
    in case of an error, the new skcipher interface (regardless of AIO or
    sync) returns the number of processed bytes in case of success.
    
    Signed-off-by: default avatarStephan Mueller <smueller@chronox.de>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    e870456d