Messages in this thread | | | Date | Tue, 20 Apr 2010 06:22:11 -0700 | From | Greg KH <> | Subject | Re: [stable] [PATCH] module: drop the lock while waiting for module to complete initialization. |
| |
On Tue, Apr 20, 2010 at 06:49:04PM +0930, Rusty Russell wrote: > This fixes "gave up waiting for init of module libcrc32c." which > happened at boot time due to multiple parallel module loads. > > The problem was a deadlock: we wait for a module to finish > initializing, but we keep the module_lock mutex so it can't complete. > In particular, this could reasonably happen if a module does a > request_module() in its initialization routine. > > So we change use_module() to return an errno rather than a bool, and if > it's -EBUSY we drop the lock and wait in the caller, then reaquire the > lock. > > Reported-by: Brandon Philips <brandon@ifup.org> > Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> > Tested-by: Brandon Philips <brandon@ifup.org> > ---
If you wish to have patches included "automatically" in the stable kernel releases, just add: Cc: stable <stable@kernel.org> to the signed-off-by area of your patch. Then, when the patch goes into Linus's tree, I get notified of it and can trivially add it to the proper kernel trees.
Otherwise I need to go dig through git and watch to see if/when the patch shows up there or not, which takes a lot of time when having to do it for a lot of patches.
thanks,
greg k-h
| |