FAILED: patch "[PATCH] s390/pci: enforce fmb page boundary rule" failed to apply to 3.14-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 3.14-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
80c544ded25ac14d7cc3e555abb8ed2c2da99b84Mon Sep 17 00:00:00 2001
From: Sebastian Ott <[email protected]>
Date: Mon, 14 Mar 2016 15:47:23 +0100
Subject: [PATCH] s390/pci: enforce fmb page boundary rule
The function measurement block must not cross a page boundary. Ensure that by raising the alignment requirement to the smallest power of 2 larger than the size of the fmb.
Fixes d0b088531 ("s390/pci: performance statistics and debug infrastructure")
Cc [email protected] # v3.8+
Signed-off-by Sebastian Ott <[email protected]>
Signed-off-by Martin Schwidefsky <[email protected]>
arch/s390/include/asm/pci.h +1 -1
@@ -45,7 +45,7 @@ struct zpci_fmb {u64 rpcit_ops;u64 dma_rbytes;u64 dma_wbytes; -} __packed__aligned(16) ; +} __packed__aligned(64) ;enum zpci_state {ZPCI_FN_STATE_RESERVED ,
arch/s390/pci/pci.c +4 -1
@@ -860,8 +860,11 @@ static inline int barsize(u8 size)static int zpci_mem_init (void ) { +BUILD_BUG_ON (!is_power_of_2 (__alignof__(struct zpci_fmb )) || + __alignof__(struct zpci_fmb ) <sizeof (struct zpci_fmb )); + zdev_fmb_cache =kmem_cache_create ("PCI_FMB_cache" ,sizeof (struct zpci_fmb ), -16 ,0 ,NULL ); + __alignof__(struct zpci_fmb ),0 ,NULL );if (!zdev_fmb_cache) goto error_fmb;