Re: [PATCH] lib: sbi: Apply budget restriction when polling Zkr CSR state transition

Nicholas Piggin <[email protected]>
Newsgroups org.infradead.lists.opensbi
Message-ID <ahUPSS8uvDvH4fBs@lima-default>
On Tue, May 19, 2026 at 10:50:14PM +0000, Evgeny Voevodin wrote:
> Zkr architecture doesn't define a time limit on state transitions
> which results in hanging on unresponsive or event-driven platforms.
> To prevent this, we need to limit polling iterations and fall back
> in case the budget is over, and stack guard keeps its initial value.
> The budget is configurable with CONFIG_SBI_INIT_ZKR_POLL_BUDGET,
> defaulting to 1000 iterations.
> Successful reads do not consume a try.
> 
> Signed-off-by: Evgeny Voevodin <[email protected]>
> ---
>  lib/sbi/Kconfig    | 12 ++++++++++++
>  lib/sbi/sbi_init.c | 12 +++++++++---
>  2 files changed, 21 insertions(+), 3 deletions(-)
> 
> diff --git a/lib/sbi/Kconfig b/lib/sbi/Kconfig
> index c6cc04bc..a11f788c 100644
> --- a/lib/sbi/Kconfig
> +++ b/lib/sbi/Kconfig
> @@ -6,6 +6,18 @@ config CONSOLE_EARLY_BUFFER_SIZE
>  	int "Early console buffer size (bytes)"
>  	default 256
>  
> +config SBI_INIT_ZKR_POLL_BUDGET
> +	int "Zkr seed polling budget (iterations)"
> +	default 1000
> +	help
> +	  Maximum number of iterations to poll CSR_SEED when initializing
> +	  the stack guard variable. The Zkr specification doesn't define
> +	  a time limit on transitioning to ES16 between polls, which
> +	  makes it impossible to tell whether entropy is being
> +	  accumulated slowly or the entropy source is not functioning.

If entropy source is not functioning it should return DEAD, surely.
Specifications always require a "reasonable" performance, whether that
is explicit or not. That's open to interpretation and application, but
if a word of entropy at boot causes a responsiveness problem, I don't
know if that's a reasonable expectation in the spec that needs to be
accounted for.

So I think a bit more information would be good. If if this is a
workaround for a particular platform that might be okay but I think it
should be framed as such.

Thanks,
Nick

-- 
opensbi mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/opensbi
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.