Re: MAC firmware does not load due to (commit 288d5abe usermodehelper)

From: Linus Torvalds
Date: Wed Sep 28 2011 - 11:21:27 EST


On Wed, Sep 28, 2011 at 5:06 AM, Richard Cochran
<richardcochran@xxxxxxxxx> wrote:
>
> A warning appears on the console, shown below.  I don't know what
> commit 288d5abe was trying to fix, but it sure made a regression for
> me. It probably would also spoil using NFS boot, too.
>
> Any ideas what to do about this?

Something seems to be calling ioctl() befor rest_init() has even
completed. Which sounds odd, but I wonder if the schedule() there
before it might have let 'init' get going.

Does something like the attached (UNTESTED) fix it?

Linus
init/main.c | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/init/main.c b/init/main.c
index 2a9b88aa5e76..23702bbdbc1d 100644
--- a/init/main.c
+++ b/init/main.c
@@ -381,9 +381,6 @@ static noinline void __init_refok rest_init(void)
preempt_enable_no_resched();
schedule();

- /* At this point, we can enable user mode helper functionality */
- usermodehelper_enable();
-
/* Call into cpu_idle with preempt disabled */
preempt_disable();
cpu_idle();
@@ -734,6 +731,7 @@ static void __init do_basic_setup(void)
init_irq_proc();
do_ctors();
do_initcalls();
+ usermodehelper_enable();
}

static void __init do_pre_smp_initcalls(void)