]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
s390/mm: Map empty zero pages read-only
authorHeiko Carstens <hca@linux.ibm.com>
Mon, 11 May 2026 10:52:39 +0000 (12:52 +0200)
committerAlexander Gordeev <agordeev@linux.ibm.com>
Wed, 20 May 2026 07:48:03 +0000 (09:48 +0200)
On arm64 the empty zero page is going to be mapped read-only [1].
Do the same for s390 with an explicit set_memory_ro() call.

[1] https://lore.kernel.org/all/20260427153416.2103979-19-ardb+git@google.com/

Suggested-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Acked-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
arch/s390/mm/init.c

index 1f72efc2a579faefe272ff3116341ff7ff3cfd0d..36bd9530db528970539772663f0526ae0def95e1 100644 (file)
@@ -84,6 +84,8 @@ void __init arch_setup_zero_pages(void)
        empty_zero_page = (unsigned long)memblock_alloc_or_panic(PAGE_SIZE << order, PAGE_SIZE);
 
        zero_page_mask = ((PAGE_SIZE << order) - 1) & PAGE_MASK;
+
+       set_memory_ro(empty_zero_page, 1UL << order);
 }
 
 void __init arch_zone_limits_init(unsigned long *max_zone_pfns)