linux-yocto/arch/s390/mm
Ryan Roberts c04035ce80 mm: hugetlb: Add huge page size param to huge_ptep_get_and_clear()
commit 02410ac72a upstream.

In order to fix a bug, arm64 needs to be told the size of the huge page
for which the huge_pte is being cleared in huge_ptep_get_and_clear().
Provide for this by adding an `unsigned long sz` parameter to the
function. This follows the same pattern as huge_pte_clear() and
set_huge_pte_at().

This commit makes the required interface modifications to the core mm as
well as all arches that implement this function (arm64, loongarch, mips,
parisc, powerpc, riscv, s390, sparc). The actual arm64 bug will be fixed
in a separate commit.

Cc: stable@vger.kernel.org
Fixes: 66b3923a1a ("arm64: hugetlb: add support for PTE contiguous bit")
Acked-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Alexandre Ghiti <alexghiti@rivosinc.com> # riscv
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
Acked-by: Alexander Gordeev <agordeev@linux.ibm.com> # s390
Link: https://lore.kernel.org/r/20250226120656.2400136-2-ryan.roberts@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-03-13 12:58:38 +01:00
..
cmm.c s390/mm: Add cond_resched() to cmm_alloc/free_pages() 2024-10-17 15:24:15 +02:00
dump_pagetables.c s390/amode31: change type of __samode31, __eamode31, etc 2023-08-30 11:03:27 +02:00
extable.c
extmem.c s390/extmem: improve reporting of -ERANGE error 2023-07-24 12:12:24 +02:00
fault.c s390/mm: Fix VM_FAULT_HWPOISON handling in do_exception() 2024-08-03 08:54:34 +02:00
gmap.c s390/mm: Re-enable the shared zeropage for !PV and !skeys KVM guests 2024-06-12 11:11:33 +02:00
hugetlbpage.c mm: hugetlb: Add huge page size param to huge_ptep_get_and_clear() 2025-03-13 12:58:38 +01:00
init.c s390/mm: fix MAX_DMA_ADDRESS physical vs virtual confusion 2023-09-05 20:12:51 +02:00
maccess.c s390/mm: define Real Memory Copy size and mask macros 2023-08-16 15:13:02 +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 handling of swapper_pg_dir and invalid_pg_dir 2023-12-08 08:52:24 +01:00
pageattr.c s390/pageattr: Implement missing kernel_page_present() 2024-12-09 10:31:43 +01:00
pfault.c s390/pfault: use consistent comment style 2023-07-29 14:57:18 +02:00
pgalloc.c s390/mm: Add NULL pointer check to crst_table_free() base_crst_free() 2024-07-18 13:21:20 +02:00
pgtable.c mm/treewide: replace pud_large() with pud_leaf() 2024-04-10 16:35:46 +02:00
vmem.c mm/treewide: replace pud_large() with pud_leaf() 2024-04-10 16:35:46 +02:00