From: Jisheng Zhang <jszhang@kernel.org> To: "Jason A. Donenfeld" <Jason@zx2c4.com> Cc: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Stephen Boyd <swboyd@chromium.org>, Phil Elwell <phil@raspberrypi.com>, Ard Biesheuvel <ardb@kernel.org>, Russel King <linux@armlinux.org.uk>, Catalin Marinas <catalin.marinas@arm.com>, Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com> Subject: Re: [PATCH] riscv: initialize jump labels before early_init_dt_scan() Date: Thu, 9 Jun 2022 00:20:52 +0800 [thread overview] Message-ID: <YqDMZOTtmOcMlGM7@xhacker> (raw) In-Reply-To: <20220607195752.1146431-1-Jason@zx2c4.com> On Tue, Jun 07, 2022 at 09:57:52PM +0200, Jason A. Donenfeld wrote: > Stephen reported that a static key warning splat appears during early > boot on arm64 systems that credit randomness from device trees that > contain an "rng-seed" property, because the dtb is parsed is called > before jump_label_init() during setup_arch(), which was fixed by > 73e2d827a501 ("arm64: Initialize jump labels before > setup_machine_fdt()"). > > The same basic issue applies to RISC-V as well. So this commit moves the > call to jump_label_init() just before early_init_dt_scan(). > jump_label_init() actually requires sbi_init() to be called first for Moving the sbi_init() earlier has been sent out but the patch is missing in 5.19-rc1 https://lore.kernel.org/linux-riscv/20220521143456.2759-1-jszhang@kernel.org/T/#m00c3cb5e4e360ca8d7aa10c79c10437b7307c16c > proper functioning, so it also moves that to the right place. > > Reported-by: Stephen Boyd <swboyd@chromium.org> > Reported-by: Phil Elwell <phil@raspberrypi.com> > Cc: Ard Biesheuvel <ardb@kernel.org> > Cc: Russel King <linux@armlinux.org.uk> > Cc: Catalin Marinas <catalin.marinas@arm.com> > Cc: Paul Walmsley <paul.walmsley@sifive.com> > Cc: Palmer Dabbelt <palmer@dabbelt.com> > Fixes: f5bda35fba61 ("random: use static branch for crng_ready()") > Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> > --- > arch/riscv/kernel/setup.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/arch/riscv/kernel/setup.c b/arch/riscv/kernel/setup.c > index f0f36a4a0e9b..c44c81b1cfb3 100644 > --- a/arch/riscv/kernel/setup.c > +++ b/arch/riscv/kernel/setup.c > @@ -263,13 +263,15 @@ static void __init parse_dtb(void) > > void __init setup_arch(char **cmdline_p) > { > + early_ioremap_setup(); > + sbi_init(); > + jump_label_init(); > + > parse_dtb(); > setup_initial_init_mm(_stext, _etext, _edata, _end); > > *cmdline_p = boot_command_line; > > - early_ioremap_setup(); > - jump_label_init(); > parse_early_param(); > > efi_init(); > @@ -285,7 +287,6 @@ void __init setup_arch(char **cmdline_p) > misc_mem_init(); > > init_resources(); > - sbi_init(); > > #ifdef CONFIG_KASAN > kasan_init(); > -- > 2.35.1 > > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv
WARNING: multiple messages have this Message-ID (diff)
From: Jisheng Zhang <jszhang@kernel.org> To: "Jason A. Donenfeld" <Jason@zx2c4.com> Cc: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Stephen Boyd <swboyd@chromium.org>, Phil Elwell <phil@raspberrypi.com>, Ard Biesheuvel <ardb@kernel.org>, Russel King <linux@armlinux.org.uk>, Catalin Marinas <catalin.marinas@arm.com>, Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com> Subject: Re: [PATCH] riscv: initialize jump labels before early_init_dt_scan() Date: Thu, 9 Jun 2022 00:20:52 +0800 [thread overview] Message-ID: <YqDMZOTtmOcMlGM7@xhacker> (raw) In-Reply-To: <20220607195752.1146431-1-Jason@zx2c4.com> On Tue, Jun 07, 2022 at 09:57:52PM +0200, Jason A. Donenfeld wrote: > Stephen reported that a static key warning splat appears during early > boot on arm64 systems that credit randomness from device trees that > contain an "rng-seed" property, because the dtb is parsed is called > before jump_label_init() during setup_arch(), which was fixed by > 73e2d827a501 ("arm64: Initialize jump labels before > setup_machine_fdt()"). > > The same basic issue applies to RISC-V as well. So this commit moves the > call to jump_label_init() just before early_init_dt_scan(). > jump_label_init() actually requires sbi_init() to be called first for Moving the sbi_init() earlier has been sent out but the patch is missing in 5.19-rc1 https://lore.kernel.org/linux-riscv/20220521143456.2759-1-jszhang@kernel.org/T/#m00c3cb5e4e360ca8d7aa10c79c10437b7307c16c > proper functioning, so it also moves that to the right place. > > Reported-by: Stephen Boyd <swboyd@chromium.org> > Reported-by: Phil Elwell <phil@raspberrypi.com> > Cc: Ard Biesheuvel <ardb@kernel.org> > Cc: Russel King <linux@armlinux.org.uk> > Cc: Catalin Marinas <catalin.marinas@arm.com> > Cc: Paul Walmsley <paul.walmsley@sifive.com> > Cc: Palmer Dabbelt <palmer@dabbelt.com> > Fixes: f5bda35fba61 ("random: use static branch for crng_ready()") > Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> > --- > arch/riscv/kernel/setup.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/arch/riscv/kernel/setup.c b/arch/riscv/kernel/setup.c > index f0f36a4a0e9b..c44c81b1cfb3 100644 > --- a/arch/riscv/kernel/setup.c > +++ b/arch/riscv/kernel/setup.c > @@ -263,13 +263,15 @@ static void __init parse_dtb(void) > > void __init setup_arch(char **cmdline_p) > { > + early_ioremap_setup(); > + sbi_init(); > + jump_label_init(); > + > parse_dtb(); > setup_initial_init_mm(_stext, _etext, _edata, _end); > > *cmdline_p = boot_command_line; > > - early_ioremap_setup(); > - jump_label_init(); > parse_early_param(); > > efi_init(); > @@ -285,7 +287,6 @@ void __init setup_arch(char **cmdline_p) > misc_mem_init(); > > init_resources(); > - sbi_init(); > > #ifdef CONFIG_KASAN > kasan_init(); > -- > 2.35.1 > > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2022-06-08 16:31 UTC|newest] Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-06-07 19:57 [PATCH] riscv: initialize jump labels before early_init_dt_scan() Jason A. Donenfeld 2022-06-07 19:57 ` Jason A. Donenfeld 2022-06-08 8:17 ` Jason A. Donenfeld 2022-06-08 8:17 ` Jason A. Donenfeld 2022-06-08 16:20 ` Jisheng Zhang [this message] 2022-06-08 16:20 ` Jisheng Zhang
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=YqDMZOTtmOcMlGM7@xhacker \ --to=jszhang@kernel.org \ --cc=Jason@zx2c4.com \ --cc=ardb@kernel.org \ --cc=catalin.marinas@arm.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-riscv@lists.infradead.org \ --cc=linux@armlinux.org.uk \ --cc=palmer@dabbelt.com \ --cc=paul.walmsley@sifive.com \ --cc=phil@raspberrypi.com \ --cc=swboyd@chromium.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.