[Bug 7880] modprobe: already_loaded function should not return true if the state of the module in /proc/modules is not 'Live'

bugzilla at busybox.net bugzilla at busybox.net
Wed Feb 11 20:54:17 UTC 2015


https://bugs.busybox.net/show_bug.cgi?id=7880

--- Comment #1 from Denys Vlasenko <vda.linux at googlemail.com> 2015-02-11 20:54:16 UTC ---
(In reply to comment #0)
> already_loaded function should not return true if the state
> of the module in /proc/modules is not 'Live'. Reason being,
> Parallel module load request on SMP architecture might result in
> failure or unexpected behaviour via modprobe. Added the check of
> 'Live' state in already_loaded function to handle the same.

The state can be Unloading, Loading, or Live.

The code which checks already_loaded() is this one:

        if (!is_remove && already_loaded(name)) {
                dbg1_error_msg("nothing to do for '%s'", name);
                return;
        }

I don't see why it would be better if we change "Loading" modules to be
reported as !already_loaded(). If we do, then an attempt to load a module while
it is already being loaded will be made (currently, we skip such concurrent
loading). Is this better? Why?

-- 
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


More information about the busybox-cvs mailing list