• Eric Biggers's avatar
    crypto: xcbc - remove unnecessary alignment logic · a2b11180
    Eric Biggers authored
    The xcbc template is setting its alignmask to that of its underlying
    'cipher'.  Yet, it doesn't care itself about how its inputs and outputs
    are aligned, which is ostensibly the point of the alignmask.  Instead,
    xcbc actually just uses its alignmask itself to runtime-align certain
    fields in its tfm and desc contexts appropriately for its underlying
    cipher.  That is almost entirely pointless too, though, since xcbc is
    already using the cipher API functions that handle alignment themselves,
    and few ciphers set a nonzero alignmask anyway.  Also, even without
    runtime alignment, an alignment of at least 4 bytes can be guaranteed.
    
    Thus, at best this code is optimizing for the rare case of ciphers that
    set an alignmask >= 7, at the cost of hurting the common cases.
    
    Therefore, this patch removes the manual alignment code from xcbc and
    makes it stop setting an alignmask.
    Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    a2b11180
xcbc.c 6.1 KB