On Thu, 19 Oct 2000 01:56:38 +0100 (BST), 
Alan Cox <[EMAIL PROTECTED]> wrote:
>Keith Owens wrote
>> modprobe would attempt to satisfy weak external references as if they
>> were normal references, including all the module dependency chains and
>> reference counts.  If the reference cannot be satisfied, it is set to
>> zero instead of causing an error.  No changes to load/unload.
>
>I dont believe modprobe can do this race free in userspace

Module dependency checking in userspace has always been racy.  A is
being loaded and needs a symbol from B.  B was loaded at the start of
insmod so the symbol was resolved.  By the time A is actually loaded, B
has been removed, userspace race.  This is checked for in
sys_init_module()

        printk(KERN_ERR "init_module: found dependency that is "
                        "(no longer?) a module.\n");

Making some of the external references weak makes no difference.
Either they are resolved to a module by insmod and checked by
sys_init_module() or insmod replaces the reference with NULL.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to