• Linus Torvalds's avatar
    module: move find_module check to end · 3bafeb62
    Linus Torvalds authored
    I think Rusty may have made the lock a bit _too_ finegrained there, and
    didn't add it to some places that needed it. It looks, for example, like
    PATCH 1/2 actually drops the lock in places where it's needed
    ("find_module()" is documented to need it, but now load_module() didn't
    hold it at all when it did the find_module()).
    
    Rather than adding a new "module_loading" list, I think we should be able
    to just use the existing "modules" list, and just fix up the locking a
    bit.
    
    In fact, maybe we could just move the "look up existing module" a bit
    later - optimistically assuming that the module doesn't exist, and then
    just undoing the work if it turns out that we were wrong, just before
    adding ourselves to the list.
    Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
    3bafeb62
module.c 80.4 KB