Blame SOURCES/kvm-target-i386-Clarify-the-padding-requirements-of-X86X.patch

e2f3ee
From 4da53939a51a5a834fae3fb8687603598d811269 Mon Sep 17 00:00:00 2001
e2f3ee
From: David Edmondson <david.edmondson@oracle.com>
e2f3ee
Date: Mon, 5 Jul 2021 11:46:27 +0100
e2f3ee
Subject: [PATCH 3/7] target/i386: Clarify the padding requirements of
e2f3ee
 X86XSaveArea
e2f3ee
e2f3ee
RH-Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
e2f3ee
RH-MergeRequest: 113: non-av 8.5z: Fix XSAVE on newer CPUs
e2f3ee
RH-Commit: [3/7] 789cb79b4ae08bd78479b0399821adba67139c76
e2f3ee
RH-Bugzilla: 2065239
e2f3ee
RH-Acked-by: Jon Maloy <jmaloy@redhat.com>
e2f3ee
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
e2f3ee
RH-Acked-by: Bandan Das <None>
e2f3ee
e2f3ee
Replace the hard-coded size of offsets or structure elements with
e2f3ee
defined constants or sizeof().
e2f3ee
e2f3ee
Signed-off-by: David Edmondson <david.edmondson@oracle.com>
e2f3ee
Message-Id: <20210705104632.2902400-4-david.edmondson@oracle.com>
e2f3ee
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
e2f3ee
(cherry picked from commit fde74821006472f40fee9a094e6da86cd39b5623)
e2f3ee
---
e2f3ee
 target/i386/cpu.h | 8 +++++++-
e2f3ee
 1 file changed, 7 insertions(+), 1 deletion(-)
e2f3ee
e2f3ee
diff --git a/target/i386/cpu.h b/target/i386/cpu.h
e2f3ee
index 7c81d4bd6d..d586b5508d 100644
e2f3ee
--- a/target/i386/cpu.h
e2f3ee
+++ b/target/i386/cpu.h
e2f3ee
@@ -1296,7 +1296,13 @@ typedef struct X86XSaveArea {
e2f3ee
 
e2f3ee
     /* AVX State: */
e2f3ee
     XSaveAVX avx_state;
e2f3ee
-    uint8_t padding[960 - 576 - sizeof(XSaveAVX)];
e2f3ee
+
e2f3ee
+    /* Ensure that XSaveBNDREG is properly aligned. */
e2f3ee
+    uint8_t padding[XSAVE_BNDREG_OFFSET
e2f3ee
+                    - sizeof(X86LegacyXSaveArea)
e2f3ee
+                    - sizeof(X86XSaveHeader)
e2f3ee
+                    - sizeof(XSaveAVX)];
e2f3ee
+
e2f3ee
     /* MPX State: */
e2f3ee
     XSaveBNDREG bndreg_state;
e2f3ee
     XSaveBNDCSR bndcsr_state;
e2f3ee
-- 
e2f3ee
2.27.0
e2f3ee