[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20100420132211.GA27374@kroah.com>
Date: Tue, 20 Apr 2010 06:22:11 -0700
From: Greg KH <greg@...ah.com>
To: Rusty Russell <rusty@...tcorp.com.au>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
Herbert Xu <herbert@...dor.hengli.com.au>,
linux-kernel@...r.kernel.org, Brandon Philips <brandon@...p.org>,
stable@...nel.org
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@...p.org>
> Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>
> Tested-by: Brandon Philips <brandon@...p.org>
> ---
If you wish to have patches included "automatically" in the stable
kernel releases, just add:
Cc: stable <stable@...nel.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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists