[xenial/master-next 1/1] s390/pci: add extra padding to function measurement block

Andy Whitcroft apw at canonical.com
Wed Apr 20 11:11:33 UTC 2016


From: Sebastian Ott <sebott at linux.vnet.ibm.com>

Newer machines might use a different (larger) format for function
measurement blocks. To ensure that we comply with the alignment
requirement on these machines and prevent memory corruption (when
firmware writes more data than we expect) add 16 padding bytes
at the end of the fmb.

Cc: stable at vger.kernel.org # v4.1+
Signed-off-by: Sebastian Ott <sebott at linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>

(cherry picked from commit 9d89d9e61d361f3adb75e1aebe4bb367faf16cfa)
BugLink: http://bugs.launchpad.net/bugs/1572291
Signed-off-by: Andy Whitcroft <apw at canonical.com>
---
 arch/s390/include/asm/pci.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/s390/include/asm/pci.h b/arch/s390/include/asm/pci.h
index f833082d..31558c6 100644
--- a/arch/s390/include/asm/pci.h
+++ b/arch/s390/include/asm/pci.h
@@ -45,7 +45,8 @@ struct zpci_fmb {
 	u64 rpcit_ops;
 	u64 dma_rbytes;
 	u64 dma_wbytes;
-} __packed __aligned(64);
+	u64 pad[2];
+} __packed __aligned(128);
 
 enum zpci_state {
 	ZPCI_FN_STATE_RESERVED,
-- 
2.7.4





More information about the kernel-team mailing list