On Fri, Sep 19, 2014 at 2:41 AM, Oleg Nesterov <o...@redhat.com> wrote:
> On 09/18, Roman Pen wrote:
>>
>> +void wait_for_rootfs(void)
>> +{
>> +     /* Avoid waiting for ourselves */
>> +     if (WARN_ON(is_global_init(current)))
>> +             return;
>> +     else
>> +             wait_event(rootfs_waitq, rootfs_mounted);
>> +}
>
> Ah, wait, the is_global_init() check doesn't look right in any case.
>
> What if /sbin/init does sys_init_module() and this module does
> request_firmware() ?

Yeah, right. It turned out to be more tricky than I expected.
Will fix.

>
> I think we should only warn if init is going to wait,
>
>         /* Avoid waiting for ourselves */
>         if (rootfs_mounted || WARN_ON(is_global_init(current)))
>                 return;
>
>         __wait_event(rootfs_waitq, rootfs_mounted);
>
>
>> +EXPORT_SYMBOL(wait_for_rootfs);
>
> Why?

CONFIG_FW_LOADER (which includes firmware_class.c to compilation
sequence) is declared as tristate,
thus it can be built as module. Seems I can break  loading of this
module if skip exporting, right?

--
Roman
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to