2020-09-25 13:41:41

by Tom Lendacky

[permalink] [raw]
Subject: [PATCH] x86/sev-es: Use GHCB accessor for setting the MMIO scratch buffer

From: Tom Lendacky <[email protected]>

Use ghcb_set_sw_scratch() to set the GHCB scratch field, which will also
set the corresponding bit in the GHCB valid_bitmap field.

Signed-off-by: Tom Lendacky <[email protected]>
---
arch/x86/kernel/sev-es.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/sev-es.c b/arch/x86/kernel/sev-es.c
index 6fcfdd32769f..4a96726fbaf8 100644
--- a/arch/x86/kernel/sev-es.c
+++ b/arch/x86/kernel/sev-es.c
@@ -751,7 +751,7 @@ static enum es_result vc_do_mmio(struct ghcb *ghcb, struct es_em_ctxt *ctxt,
/* Can never be greater than 8 */
exit_info_2 = bytes;

- ghcb->save.sw_scratch = ghcb_pa + offsetof(struct ghcb, shared_buffer);
+ ghcb_set_sw_scratch(ghcb, ghcb_pa + offsetof(struct ghcb, shared_buffer));

return sev_es_ghcb_hv_call(ghcb, ctxt, exit_code, exit_info_1, exit_info_2);
}
--
2.28.0


2020-09-25 13:45:19

by Jörg Rödel

[permalink] [raw]
Subject: Re: [PATCH] x86/sev-es: Use GHCB accessor for setting the MMIO scratch buffer

On Fri, Sep 25, 2020 at 08:38:26AM -0500, Tom Lendacky wrote:
> From: Tom Lendacky <[email protected]>
>
> Use ghcb_set_sw_scratch() to set the GHCB scratch field, which will also
> set the corresponding bit in the GHCB valid_bitmap field.
>
> Signed-off-by: Tom Lendacky <[email protected]>
> ---
> arch/x86/kernel/sev-es.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/kernel/sev-es.c b/arch/x86/kernel/sev-es.c
> index 6fcfdd32769f..4a96726fbaf8 100644
> --- a/arch/x86/kernel/sev-es.c
> +++ b/arch/x86/kernel/sev-es.c
> @@ -751,7 +751,7 @@ static enum es_result vc_do_mmio(struct ghcb *ghcb, struct es_em_ctxt *ctxt,
> /* Can never be greater than 8 */
> exit_info_2 = bytes;
>
> - ghcb->save.sw_scratch = ghcb_pa + offsetof(struct ghcb, shared_buffer);
> + ghcb_set_sw_scratch(ghcb, ghcb_pa + offsetof(struct ghcb, shared_buffer));

Reviewed-by: Joerg Roedel <[email protected]>

Thanks for catching this!