• Linus Torvalds's avatar
    module: make waiting for a concurrent module loader interruptible · 2124d84d
    Linus Torvalds authored
    The recursive aes-arm-bs module load situation reported by Russell King
    is getting fixed in the crypto layer, but this in the meantime fixes the
    "recursive load hangs forever" by just making the waiting for the first
    module load be interruptible.
    
    This should now match the old behavior before commit 9b9879fc
    ("modules: catch concurrent module loads, treat them as idempotent"),
    which used the different "wait for module to be ready" code in
    module_patient_check_exists().
    
    End result: a recursive module load will still block, but now a signal
    will interrupt it and fail the second module load, at which point the
    first module will successfully complete loading.
    
    Fixes: 9b9879fc ("modules: catch concurrent module loads, treat them as idempotent")
    Cc: Russell King <linux@armlinux.org.uk>
    Cc: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    2124d84d
main.c 86.6 KB