x86/sev-es: Use GHCB accessor for setting the MMIO scratch buffer
authorTom Lendacky <thomas.lendacky@amd.com>
Fri, 25 Sep 2020 13:38:26 +0000 (08:38 -0500)
committerBorislav Petkov <bp@suse.de>
Fri, 25 Sep 2020 15:12:41 +0000 (17:12 +0200)
Use ghcb_set_sw_scratch() to set the GHCB scratch field, which will also
set the corresponding bit in the GHCB valid_bitmap field to denote that
sw_scratch is actually valid.

Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Joerg Roedel <jroedel@suse.de>
Link: https://lkml.kernel.org/r/ba84deabdf44a7a880454fb351d189c6ad79d4ba.1601041106.git.thomas.lendacky@amd.com
arch/x86/kernel/sev-es.c

index 6fcfdd3..4a96726 100644 (file)
@@ -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);
 }