linux/arch/mips/include/asm
Ryan Roberts 02410ac72a mm: hugetlb: Add huge page size param to huge_ptep_get_and_clear()
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>
2025-02-27 17:40:57 +00:00
..
dec MIPS: dec: prom: Remove unused unregister_prom_console() declaration 2024-08-29 10:44:08 +02:00
fw add intptr_t 2023-06-09 17:44:13 -07:00
ip32
mach-ath25 MIPS: Remove TX39XX support 2022-03-01 10:07:22 +01:00
mach-ath79 MIPS: Remove TX39XX support 2022-03-01 10:07:22 +01:00
mach-au1x00 MIPS: Remove unused function dump_au1000_dma_channel() in dma.c 2024-08-29 10:38:18 +02:00
mach-bcm47xx MIPS: BCM47XX: Add support for Huawei B593u-12 2023-03-14 17:05:14 +01:00
mach-bcm63xx PCI: Add defines for normal and subtractive PCI bridges 2022-02-17 15:29:35 -06:00
mach-bmips MIPS: cleanup fixup_bigphys_addr handling 2020-04-19 16:09:44 +02:00
mach-cavium-octeon locking: remove spin_lock_prefetch 2023-08-12 09:18:47 -07:00
mach-cobalt MIPS: Cobalt: Fix missing prototypes 2024-01-22 10:32:21 +01:00
mach-db1x00
mach-dec MIPS: Remove TX39XX support 2022-03-01 10:07:22 +01:00
mach-generic MIPS: spaces: Define a couple of handy macros 2024-02-20 12:44:39 +01:00
mach-ingenic MIPS: Remove TX39XX support 2022-03-01 10:07:22 +01:00
mach-ip22 MIPS: Remove mach-*/war.h 2020-09-07 22:25:27 +02:00
mach-ip27 arch, mm: move definition of node_data to generic code 2024-09-03 21:15:28 -07:00
mach-ip28 MIPS: SGI-IP28: disable use of ll/sc in kernel 2020-10-08 10:33:27 +02:00
mach-ip30 MIPS: IP30: Remove incorrect `cpu_has_fpu' override 2022-05-04 22:23:18 +02:00
mach-ip32 MIPS: Remove mach-*/war.h 2020-09-07 22:25:27 +02:00
mach-jazz mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
mach-lantiq MIPS: Fix typos 2024-01-08 10:39:12 +01:00
mach-loongson2ef MIPS: Remove TX39XX support 2022-03-01 10:07:22 +01:00
mach-loongson32 MIPS: loongson32: Remove dma.h and nand.h 2023-10-06 10:10:13 +02:00
mach-loongson64 MIPS: Loongson: Add comments for interface_info 2025-01-11 12:39:33 +01:00
mach-malta MIPS: Fix typos 2024-01-08 10:39:12 +01:00
mach-n64 mips: Add N64 machine type 2021-01-22 11:40:00 +01:00
mach-pic32 MIPS: Add header files reference with path prefix 2020-03-19 13:12:27 +01:00
mach-ralink mips: ralink: mt7620: remove clock related code 2023-06-21 14:50:23 +02:00
mach-rc32434 MIPS: Fix a compilation issue 2023-01-27 17:22:06 +01:00
mach-rm MIPS: Remove mach-*/war.h 2020-09-07 22:25:27 +02:00
mach-sibyte MIPS: Remove mach-*/war.h 2020-09-07 22:25:27 +02:00
mach-tx49xx MIPS: TXX9: Remove rbtx4939 board support 2022-01-02 14:10:40 +01:00
mips-boards MIPS: Remove unused mips_display/_scroll_message() declarations 2024-08-29 10:43:41 +02:00
octeon MIPS: Fix typos 2024-01-08 10:39:12 +01:00
pci MIPS: PCI: Support mapping of INTB/C/D for pci-xtalk-bridge 2020-01-09 15:30:53 -08:00
sgi MIPS: sgi-ip22: Add prototypes for several functions to header 2024-06-11 13:10:33 +02:00
sibyte MIPS: sibyte: Remove Sibyte CARMEL and CRHINE board support 2023-03-17 10:27:21 +01:00
sn MIPS: Fix typos 2024-01-08 10:39:12 +01:00
txx9 MIPS: Remove TX39XX support 2022-03-01 10:07:22 +01:00
vdso MIPS: vdso: Remove timekeeper includes 2024-10-15 17:50:29 +02:00
xtalk
Kbuild asm-generic: introduce text-patching.h 2024-11-07 14:25:15 -08:00
abi.h
addrspace.h MIPS: spaces: Define a couple of handy macros 2024-02-20 12:44:39 +01:00
amon.h
arch_hweight.h
asm-eva.h MIPS: Fix typo for user_ld macro definition 2020-04-16 17:30:16 +02:00
asm-offsets.h
asm-prototypes.h MIPS: Restore symbol versions for copy_page_cpu and clear_page_cpu 2022-12-01 11:46:05 +01:00
asm.h MIPS: Guard some macros with __ASSEMBLY__ in asm.h 2024-04-15 10:22:09 +02:00
asmmacro-32.h MIPS: Always use -Wa,-msoft-float and eliminate GAS_HAS_SET_HARDFLOAT 2023-01-26 12:41:16 +09:00
asmmacro-64.h
asmmacro.h MIPS: Implement microMIPS MT ASE helpers 2024-02-23 10:13:47 +01:00
atomic.h locking/atomic: make atomic*_{cmp,}xchg optional 2023-06-05 09:57:14 +02:00
barrier.h MIPS: barrier: Make __smp_mb__before_atomic() a no-op for Loongson3 2019-10-07 09:43:08 -07:00
bcache.h
bitops.h mm: delete checks for xor_unlock_is_negative_byte() 2023-10-18 14:34:17 -07:00
bitrev.h
bmips-spaces.h
bmips.h mips: bmips: rework and cache CBR addr handling 2024-06-27 10:44:24 +02:00
bootinfo.h MIPS: Ingenic: Add system type for new Ingenic SoCs. 2021-07-19 13:16:42 +02:00
branch.h MIPS: Fix the declaration conflict of mm_isBranchInstr() 2020-04-24 18:17:44 +02:00
break.h
bug.h
bugs.h mips/cpu: Switch to arch_cpu_finalize_init() 2023-06-16 10:16:00 +02:00
cache.h mips: move cache declarations into header 2023-12-10 17:21:41 -08:00
cacheflush.h mm: Introduce flush_cache_vmap_early() 2023-12-14 00:23:17 -08:00
cacheops.h MIPS: Rename the "Fill" cache ops to avoid build failure 2020-04-26 15:40:50 +02:00
cachetype.h Introduce cpu_dcache_is_aliasing() across all architectures 2024-02-22 15:27:19 -08:00
cdmm.h mips: bus: make mips_cdmm_bustype const 2024-02-20 13:36:34 +01:00
cevt-r4k.h
checksum.h MIPS: Add 'memory' clobber to csum_ipv6_magic() inline assembler 2024-02-12 23:03:19 +01:00
clocksource.h mips: Introduce asm/vdso/clocksource.h 2020-03-21 15:23:55 +01:00
cmp.h MIPS: Remove unused declarations in asm/cmp.h 2024-08-29 10:42:41 +02:00
cmpxchg.h locking/arch: Rename all internal __xchg() names to __arch_xchg() 2023-04-29 09:08:44 +02:00
compat-signal.h
compat.h asm-generic: compat: Cleanup duplicate definitions 2022-04-26 13:35:54 -07:00
compiler.h MIPS: remove GCC < 4.9 support 2020-11-11 23:49:22 +01:00
cop2.h MIPS: Remove NETLOGIC support 2021-10-24 17:24:47 +02:00
cpu-features.h MIPS: cpu-features: Use boot_cpu_type for CPU type based features 2023-06-09 09:56:22 +02:00
cpu-info.h MIPS: emulate CPUCFG instruction on older Loongson64 cores 2020-05-24 09:26:55 +02:00
cpu-type.h MIPS: Remove VR41xx support 2022-07-14 11:52:29 +02:00
cpu.h MIPS: Remove VR41xx support 2022-07-14 11:52:29 +02:00
cpufeature.h
debug.h MIPS: Fix typos 2024-01-08 10:39:12 +01:00
delay.h
div64.h MIPS: Avoid handcoded DIVU in `__div64_32' altogether 2021-04-23 13:40:31 +02:00
dma-direct.h dma-direct: rename and cleanup __phys_to_dma 2020-09-11 09:14:43 +02:00
dma-mapping.h dma-mapping: no need to pass a bus_type into get_arch_dma_ops() 2023-02-15 12:35:20 +01:00
dma.h PCI: Move isa_dma_bridge_buggy out of asm/dma.h 2022-07-22 17:24:47 -05:00
dmi.h mips: dmi: Fix early remap on MIPS32 2023-12-21 15:31:25 +01:00
ds1287.h
dsemul.h
dsp.h
edac.h
elf.h mips compat: switch to compat_binfmt_elf.c 2021-01-06 08:42:49 -05:00
elfcore-compat.h mips compat: switch to compat_binfmt_elf.c 2021-01-06 08:42:49 -05:00
errno.h
eva.h
exec.h
extable.h
fixmap.h mips: fix comment about pgtable_init() 2023-04-05 19:42:52 -07:00
floppy.h
fpregdef.h MIPS: Always use -Wa,-msoft-float and eliminate GAS_HAS_SET_HARDFLOAT 2023-01-26 12:41:16 +09:00
fpu.h MIPS: Implement ieee754 NAN2008 emulation mode 2024-07-12 13:09:25 +02:00
fpu_emulator.h MIPS: Fix the declaration conflict of mm_isBranchInstr() 2020-04-24 18:17:44 +02:00
ftrace.h arch: add missing prepare_ftrace_return() prototypes 2023-11-23 11:32:32 +01:00
futex.h MIPS: remove asm/war.h 2022-02-22 09:35:49 +01:00
ginvt.h MIPS: Avoid macro redefinitions 2021-09-23 11:23:35 +02:00
gio_device.h MIPS: ip22-gio: Make gio_match_device() static 2020-01-13 10:55:40 -08:00
gt64120.h
hardirq.h
hazards.h MIPS: Remove NETLOGIC support 2021-10-24 17:24:47 +02:00
highmem.h MIPS: Fix PKMAP with 32-bit MIPS huge page support 2021-06-30 14:41:32 +02:00
hpet.h
hugetlb.h mm: hugetlb: Add huge page size param to huge_ptep_get_and_clear() 2025-02-27 17:40:57 +00:00
hw_irq.h
i8259.h irqchip: Add driver for Loongson-3 HyperTransport PIC controller 2020-03-25 10:56:43 +01:00
idle.h MIPS: idle: Add prototype for function check_wait 2020-09-27 13:00:45 +02:00
inst.h MIPS: Make definitions of MIPSInst_FMA_{FUNC,FMTM} consistent with MIPS64 manual 2021-01-22 11:45:52 +01:00
io.h asm-generic: provide generic page_to_phys and phys_to_page implementations 2024-10-28 21:44:28 +00:00
irq.h nmi_backtrace: allow excluding an arbitrary CPU 2023-08-18 10:19:00 -07:00
irq_cpu.h MIPS: Kill RM7K & RM9K IRQ Code 2021-01-04 11:37:27 +01:00
irq_gt641xx.h
irq_regs.h
irqflags.h mips: Implement arch_irqs_disabled() 2020-08-26 12:41:55 +02:00
isa-rev.h
isadep.h MIPS: Remove TX39XX support 2022-03-01 10:07:22 +01:00
jazz.h
jazzdma.h MIPS/jazzdma: remove the unused vdma_remap function 2020-09-11 08:13:49 +02:00
jump_label.h work around gcc bugs with 'asm goto' with outputs 2024-02-09 15:57:48 -08:00
kdebug.h
kexec.h mips, kexec: fix the incorrect ifdeffery and dependency of CONFIG_KEXEC 2023-12-12 17:20:18 -08:00
kgdb.h mips: kgdb: adjust the comment to the actual ifdef condition 2021-12-16 15:47:58 +01:00
kprobes.h kprobes: unify kprobes_exceptions_nofify() prototypes 2023-11-10 19:59:05 +09:00
kvm_host.h KVM: MIPS: Rename virtualization {en,dis}abling APIs to match common KVM 2024-09-04 11:02:33 -04:00
kvm_types.h KVM: MIPS: Use common KVM implementation of MMU memory caches 2020-07-09 13:29:44 -04:00
linkage.h
local.h locking/local, arch: Rewrite local_add_unless() as a static inline function 2023-10-04 11:38:11 +02:00
maar.h mips: MAAR: Add XPA mode support 2020-05-19 17:39:32 +02:00
machine.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
mc146818-time.h
mc146818rtc.h
mips-cm.h MIPS: Allow using more than 32-bit addresses for reset vectors when possible 2024-10-30 23:45:48 +01:00
mips-cpc.h MIPS: Fix typos 2024-01-08 10:39:12 +01:00
mips-cps.h MIPS: CPS: Add a couple of multi-cluster utility functions 2024-07-09 10:48:17 +02:00
mips-gic.h MIPS: GIC: Generate redirect block accessors 2024-07-09 10:48:28 +02:00
mips-r2-to-r6-emul.h
mips_mt.h MIPS: MT: Remove unused function mips_mt_regdump() 2024-08-29 10:41:36 +02:00
mipsmtregs.h MIPS: mipsmtregs: Fix target register for MFTC0 2024-06-21 10:16:15 +02:00
mipsprom.h
mipsregs.h MIPS: kernel: Rename read/write_c0_ecc to read/writec0_errctl 2025-01-11 12:31:21 +01:00
mmiowb.h mips: add <asm-generic/io.h> including 2023-11-23 10:32:52 +01:00
mmu.h
mmu_context.h mips: use asm-generic/mmu_context.h for no-op implementations 2020-10-27 16:02:36 +01:00
mmzone.h mips: fix setup_zero_pages() prototype 2023-12-10 17:21:40 -08:00
module.h mips: Add MIPS Warrior P5600 support 2020-05-22 09:10:53 +02:00
msa.h MIPS: Avoid macro redefinitions 2021-09-23 11:23:35 +02:00
msc01_ic.h
paccess.h
page.h vdso: Introduce vdso/page.h 2024-10-16 00:13:04 +02:00
pci.h MIPS: Fix typos 2024-01-08 10:39:12 +01:00
perf_event.h
pgalloc.h asm-generic: pgalloc: provide generic __pgd_{alloc,free} 2025-01-25 20:22:24 -08:00
pgtable-32.h mm/treewide: remove pXd_huge() 2024-04-25 20:55:47 -07:00
pgtable-64.h mm: define general function pXd_init() 2024-11-11 17:22:27 -08:00
pgtable-bits.h MIPS: Fix typos 2024-01-08 10:39:12 +01:00
pgtable.h mm: implement update_mmu_tlb() using update_mmu_tlb_range() 2024-07-03 19:29:57 -07:00
pm-cps.h
pm.h MIPS: asm/pm.h: Use platform agnostic macros 2024-06-11 13:03:37 +02:00
prefetch.h
processor.h mips: add missing declarations 2023-12-10 17:21:41 -08:00
prom.h MIPS: Fix wrong comments in asm/prom.h 2022-03-14 15:09:27 +01:00
ptrace.h MIPS: Export syscall stack arguments properly for remote use 2025-02-13 12:41:18 +01:00
r4k-timer.h MIPS: sync-r4k: Rework based on x86 tsc_sync 2024-07-03 16:50:12 +02:00
r4kcache.h mips: move cache declarations into header 2023-12-10 17:21:41 -08:00
reboot.h
reg.h
regdef.h MIPS: regdefs.h: Define a set of register numbers 2024-02-20 12:41:51 +01:00
rtlx.h MIPS: Remove deprecated CONFIG_MIPS_CMP 2023-04-12 15:01:09 +02:00
seccomp.h seccomp: Use -1 marker for end of mode 1 syscall list 2020-07-10 16:01:52 -07:00
setup.h MIPS: Add prototypes for plat_post_relocation() and relocate_kernel() 2024-04-15 10:22:45 +02:00
sgialib.h MIPS: arc: use function argument for passing argc/argv to prom_init_cmdline 2019-10-23 21:10:34 -07:00
sgiarcs.h MIPS: fw: arc: use call_o32 to call ARC prom from 64bit kernel 2019-10-09 14:55:51 -07:00
shmparam.h
sigcontext.h
signal.h mips: add missing declarations 2023-12-10 17:21:41 -08:00
sim.h
smp-cps.h MIPS: Allows relocation exception vectors everywhere 2024-02-20 12:44:59 +01:00
smp-ops.h asm-generic cleanups for 6.8 2024-01-10 18:13:44 -08:00
smp.h MIPS: Loongson64: Switch to SYNC_R4K 2024-07-23 09:29:49 +02:00
sni.h MIPS: remove orphan sni_cpu_time_init() declaration 2022-09-19 16:36:55 +02:00
socket.h
sparsemem.h
spinlock.h locking/arch: Move qrwlock.h include after qspinlock.h 2021-02-11 07:59:54 -05:00
spinlock_types.h
spram.h mips: spram: fix missing prototype warning for spram_config 2023-12-10 17:21:41 -08:00
stackframe.h MIPS: Take in account load hazards for HI/LO restoring 2024-05-03 14:22:38 +02:00
stackprotector.h stackprotector: actually use get_random_canary() 2022-11-18 02:18:10 +01:00
stacktrace.h
string.h MIPS: Drop 32-bit asm string functions 2019-10-09 12:48:05 -07:00
switch_to.h mips: asm: fix warning when disabling MIPS_FP_SUPPORT 2024-10-30 23:45:28 +01:00
sync.h MIPS: Fix typos 2024-01-08 10:39:12 +01:00
syscall.h MIPS: fix mips_get_syscall_arg() for o32 2025-02-13 12:41:29 +01:00
syscalls.h mips: add asm/syscalls.h header 2023-12-10 17:21:38 -08:00
thread_info.h MIPS: Fix typos 2024-01-08 10:39:12 +01:00
time.h
timex.h MIPS: Fix typos 2024-01-08 10:39:12 +01:00
tlb.h
tlbdebug.h
tlbex.h mips: move build_tlb_refill_handler() prototype 2023-12-10 17:21:39 -08:00
tlbflush.h
tlbmisc.h
topology.h
traps.h asm-generic cleanups for 6.8 2024-01-10 18:13:44 -08:00
txx9irq.h MIPS: Remove TX39XX support 2022-03-01 10:07:22 +01:00
txx9pio.h
txx9tmr.h MIPS: Remove TX39XX support 2022-03-01 10:07:22 +01:00
types.h mips: Remove #include <uapi/asm/types.h> from <asm/types.h> 2020-11-11 23:45:46 +01:00
uaccess.h uaccess: generalize access_ok() 2022-02-25 09:36:05 +01:00
uasm.h mips: unhide uasm_in_compat_space_p() declaration 2023-12-10 17:21:40 -08:00
unaligned-emul.h MIPS: Fix build error due to PTR used in more places 2022-01-27 09:04:19 +01:00
unistd.h clone3: drop __ARCH_WANT_SYS_CLONE3 macro 2024-07-10 14:23:38 +02:00
unroll.h treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
uprobes.h
vdso.h MIPS: vdso: Use generic union vdso_data_store 2024-02-20 20:56:01 +01:00
vermagic.h MIPS: Remove VR41xx support 2022-07-14 11:52:29 +02:00
vga.h asm/vga.h: don't bother with scr_mem{cpy,move}v() unless we need to 2024-11-11 21:51:42 +01:00
video.h arch: Rename fbdev header and source files 2024-05-03 17:07:50 +02:00
vmalloc.h mm/vmalloc: Add empty <asm/vmalloc.h> headers and use them from <linux/vmalloc.h> 2019-12-10 10:12:55 +01:00
vpe.h MIPS: Remove deprecated CONFIG_MIPS_CMP 2023-04-12 15:01:09 +02:00
watch.h
wbflush.h
yamon-dt.h