Re: [PATCH v18 015/121] KVM: TDX: Retry SEAMCALL on the lack of entropy error

From: Paolo Bonzini
Date: Mon Feb 12 2024 - 05:06:05 EST


On Tue, Jan 23, 2024 at 12:55 AM <isaku.yamahata@xxxxxxxxx> wrote:
>
> From: Isaku Yamahata <isaku.yamahata@xxxxxxxxx>
>
> Some SEAMCALL may return TDX_RND_NO_ENTROPY error when the entropy is
> lacking. Retry SEAMCALL on the error following rdrand_long() to retry
> RDRAND_RETRY_LOOPS times.
>
> Signed-off-by: Isaku Yamahata <isaku.yamahata@xxxxxxxxx>

This patch should not be needed anymore, just...

> + /* Mimic the existing rdrand_long() to retry RDRAND_RETRY_LOOPS times. */
> + retry = RDRAND_RETRY_LOOPS;
> + do {
> + /* As __seamcall_ret() overwrites out, init out on each loop. */
> *out = *in;
> ret = __seamcall_ret(op, out);
> - } else
> - ret = __seamcall(op, in);

.. use seamcall() and seamcall_ret() here instead of the "__" versions.

Paolo