]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
s390/pci: add extra padding to function measurement block
authorSebastian Ott <sebott@linux.vnet.ibm.com>
Thu, 31 Mar 2016 09:48:31 +0000 (11:48 +0200)
committerSasha Levin <sasha.levin@oracle.com>
Sun, 8 May 2016 12:08:58 +0000 (08:08 -0400)
[ Upstream commit 9d89d9e61d361f3adb75e1aebe4bb367faf16cfa ]

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>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
arch/s390/include/asm/pci.h

index 4e33fe339b3d9bf857c02ab6d867ffb39ff64f8e..5b7153b34361b8e1f6fd67290a93880060858a67 100644 (file)
@@ -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,