Re: [PATCH] fix system_state checking in early_ioremap

From: Dave Young
Date: Sat Dec 02 2017 - 19:56:17 EST


On 12/02/17 at 11:34am, Dave Young wrote:
> Since below commit earlyprintk=efi,keep does not work any more with a warning
> in mm/early_ioremap.c: WARN_ON(system_state >= SYSTEM_RUNNING):

Should be WARN_ON(system_state != SYSTEM_BOOTING) in original code, copy
paste wrongly, if need a resend please let me know :)

> commit 69a78ff226fe ("init: Introduce SYSTEM_SCHEDULING state")
>
> Reason is the the original assumption is SYSTEM_BOOTING equal to
> system_state < SYSTEM_RUNNING. But with commit 69a78ff226fe it is not true
> any more. Change the WARN_ON to check system_state >= SYSTEM_RUNNING instead.
>
> Signed-off-by: Dave Young <dyoung@xxxxxxxxxx>
> ---
> mm/early_ioremap.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- linux-x86.orig/mm/early_ioremap.c
> +++ linux-x86/mm/early_ioremap.c
> @@ -111,7 +111,7 @@ __early_ioremap(resource_size_t phys_add
> enum fixed_addresses idx;
> int i, slot;
>
> - WARN_ON(system_state != SYSTEM_BOOTING);
> + WARN_ON(system_state >= SYSTEM_RUNNING);
>
> slot = -1;
> for (i = 0; i < FIX_BTMAPS_SLOTS; i++) {