linux/arch/s390/mm
Heiko Carstens 16ba44826a s390/cmma: fix initial kernel address space page table walk
If the cmma no-dat feature is available the kernel page tables are walked
to identify and mark all pages which are used for address translation (all
region, segment, and page tables). In a subsequent loop all other pages are
marked as "no-dat" pages with the ESSA instruction.

This information is visible to the hypervisor, so that the hypervisor can
optimize purging of guest TLB entries. The initial loop however does not
cover the complete kernel address space. This can result in pages being
marked as not being used for dynamic address translation, even though they
are. In turn guest TLB entries incorrectly may not be purged.

Fix this by adjusting the end address of the kernel address range being
walked.

Cc: <stable@vger.kernel.org>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2023-10-23 18:21:23 +02:00
..
cmm.c s390/mm: make virt_to_pfn() a static inline 2023-08-16 15:13:03 +02:00
dump_pagetables.c s390/ctlreg: add struct ctlreg 2023-09-19 13:26:56 +02:00
extable.c s390: add support for DCACHE_WORD_ACCESS 2023-10-16 13:04:09 +02:00
extmem.c s390/extmem: improve reporting of -ERANGE error 2023-07-24 12:12:24 +02:00
fault.c s390/mm,fault: move VM_FAULT_ERROR handling to do_exception() 2023-10-23 18:21:23 +02:00
gmap.c mm: enable page walking API to lock vmas during the walk 2023-08-21 13:07:20 -07:00
hugetlbpage.c mm: move 'mmap_min_addr' logic from callers into vm_unmapped_area() 2023-04-21 14:52:05 -07:00
init.c s390/ctlreg: add struct ctlreg 2023-09-19 13:26:56 +02:00
maccess.c s390/ctlreg: rename ctl_reg.h to ctlreg.h 2023-09-19 13:26:56 +02:00
Makefile s390/mm: move pfault code to own C file 2023-07-29 14:57:18 +02:00
mmap.c mm: move 'mmap_min_addr' logic from callers into vm_unmapped_area() 2023-04-21 14:52:05 -07:00
page-states.c s390/cmma: fix initial kernel address space page table walk 2023-10-23 18:21:23 +02:00
pageattr.c s390/ctlreg: add struct ctlreg 2023-09-19 13:26:56 +02:00
pfault.c s390/pfault: use consistent comment style 2023-07-29 14:57:18 +02:00
pgalloc.c s390/mm: remove __GFP_HIGHMEM masking 2023-10-19 16:36:21 +02:00
pgtable.c s390: allow pte_offset_map_lock() to fail 2023-06-19 16:19:09 -07:00
vmem.c s390/mm: make vmemmap_free() only for CONFIG_MEMORY_HOTPLUG available 2023-10-19 16:36:21 +02:00