linux_old1/arch
Gerald Schaefer fc897c95e9 s390/mm: handle PTE-mapped tail pages in fast gup
With the THP refcounting rework it is possible to see THP compound tail
pages mapped with PTEs during a THP split. This needs to be considered
when using page_cache_get_speculative(), which will always fail on tail
pages because ->_count is always zero. commit 7aef4172 "mm: handle
PTE-mapped tail pages in gerneric fast gup implementaiton" fixed it for
the generic fast gup code by using compound_head(page) instead of page,
but not for s390.

This patch is a 1:1 adaption of commit 7aef4172 for the s390 fast gup
code. Without this fix, gup will fall back to the slow path or fail
in the unlikely scenario that we hit a THP under splitting in-between
the page table split and the compound page split.

Cc: stable@vger.kernel.org # v4.5
Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-03-17 16:42:14 +01:00
..
alpha PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
arc PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
arm PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
arm64 PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
avr32 PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
blackfin PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
c6x locking/lockdep: Eliminate lockdep_init() 2016-02-09 12:03:25 +01:00
cris PCI: Move pci_dma_* helpers to common code 2016-03-07 10:40:02 -06:00
frv PCI: Move pci_dma_* helpers to common code 2016-03-07 10:40:02 -06:00
h8300 Merge branch 'akpm' (patches from Andrew) 2016-01-21 12:32:08 -08:00
hexagon arch/hotplug: Call into idle with a proper state 2016-03-01 20:36:57 +01:00
ia64 PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
m32r PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
m68k PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
metag arch/hotplug: Call into idle with a proper state 2016-03-01 20:36:57 +01:00
microblaze PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
mips PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
mn10300 PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
nios2 dma-mapping: always provide the dma_map_ops based implementation 2016-01-20 17:09:18 -08:00
openrisc dma-mapping: always provide the dma_map_ops based implementation 2016-01-20 17:09:18 -08:00
parisc PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
powerpc PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
s390 s390/mm: handle PTE-mapped tail pages in fast gup 2016-03-17 16:42:14 +01:00
score arch: Set IORESOURCE_SYSTEM_RAM flag for System RAM 2016-01-30 09:49:57 +01:00
sh PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
sparc PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
tile PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
um um: Export pm_power_off 2016-03-05 22:17:52 +01:00
unicore32 PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
x86 libnvdimm for 4.6 2016-03-16 17:45:56 -07:00
xtensa PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
.gitignore
Kconfig dma-mapping: always provide the dma_map_ops based implementation 2016-01-20 17:09:18 -08:00