Browse Source

s390/pci: add extra padding to function measurement block

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@vger.kernel.org # v4.1+
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Sebastian Ott 9 years ago
parent
commit
9d89d9e61d
1 changed files with 2 additions and 1 deletions
  1. 2 1
      arch/s390/include/asm/pci.h

+ 2 - 1
arch/s390/include/asm/pci.h

@@ -44,7 +44,8 @@ struct zpci_fmb {
 	u64 rpcit_ops;
 	u64 rpcit_ops;
 	u64 dma_rbytes;
 	u64 dma_rbytes;
 	u64 dma_wbytes;
 	u64 dma_wbytes;
-} __packed __aligned(64);
+	u64 pad[2];
+} __packed __aligned(128);
 
 
 enum zpci_state {
 enum zpci_state {
 	ZPCI_FN_STATE_RESERVED,
 	ZPCI_FN_STATE_RESERVED,