KVM: SEV-ES: reduce ghcb_sa_len to 32 bits
authorPaolo Bonzini <pbonzini@redhat.com>
Mon, 18 Oct 2021 10:49:18 +0000 (06:49 -0400)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 18 Oct 2021 18:07:19 +0000 (14:07 -0400)
The size of the GHCB scratch area is limited to 16 KiB (GHCB_SCRATCH_AREA_LIMIT),
so there is no need for it to be a u64.  This fixes a build error on 32-bit
systems:

i686-linux-gnu-ld: arch/x86/kvm/svm/sev.o: in function `sev_es_string_io:
sev.c:(.text+0x110f): undefined reference to `__udivdi3'

Cc: stable@vger.kernel.org
Fixes: 019057bd73d1 ("KVM: SEV-ES: fix length of string I/O")
Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/svm/svm.h

index 128a54b..5d30db5 100644 (file)
@@ -191,7 +191,7 @@ struct vcpu_svm {
 
        /* SEV-ES scratch area support */
        void *ghcb_sa;
-       u64 ghcb_sa_len;
+       u32 ghcb_sa_len;
        bool ghcb_sa_sync;
        bool ghcb_sa_free;