• Herbert Xu's avatar
    crypto: af_alg - Work around empty control messages without MSG_MORE · c195d66a
    Herbert Xu authored
    The iwd daemon uses libell which sets up the skcipher operation with
    two separate control messages.  As the first control message is sent
    without MSG_MORE, it is interpreted as an empty request.
    
    While libell should be fixed to use MSG_MORE where appropriate, this
    patch works around the bug in the kernel so that existing binaries
    continue to work.
    
    We will print a warning however.
    
    A separate issue is that the new kernel code no longer allows the
    control message to be sent twice within the same request.  This
    restriction is obviously incompatible with what iwd was doing (first
    setting an IV and then sending the real control message).  This
    patch changes the kernel so that this is explicitly allowed.
    Reported-by: default avatarCaleb Jorden <caljorden@hotmail.com>
    Fixes: f3c802a1 ("crypto: algif_aead - Only wake up when...")
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    c195d66a
af_alg.c 25.9 KB