• Eric Biggers's avatar
    crypto: algapi - add NEED_FALLBACK to INHERITED_FLAGS · 2eb27c11
    Eric Biggers authored
    CRYPTO_ALG_NEED_FALLBACK is handled inconsistently.  When it's requested
    to be clear, some templates propagate that request to child algorithms,
    while others don't.
    
    It's apparently desired for NEED_FALLBACK to be propagated, to avoid
    deadlocks where a module tries to load itself while it's being
    initialized, and to avoid unnecessarily complex fallback chains where we
    have e.g. cbc-aes-$driver falling back to cbc(aes-$driver) where
    aes-$driver itself falls back to aes-generic, instead of cbc-aes-$driver
    simply falling back to cbc(aes-generic).  There have been a number of
    fixes to this effect:
    
    commit 89027579 ("crypto: xts - Propagate NEED_FALLBACK bit")
    commit d2c2a85c ("crypto: ctr - Propagate NEED_FALLBACK bit")
    commit e6c2e65c
    
     ("crypto: cbc - Propagate NEED_FALLBACK bit")
    
    But it seems that other templates can have the same problems too.
    
    To avoid this whack-a-mole, just add NEED_FALLBACK to INHERITED_FLAGS so
    that it's always inherited.
    
    Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    2eb27c11