linux/arch/arm64/include/asm
Linus Torvalds 4660e168c6 arm64 fixes for -rc3
- Fix kexec/hibernation hang due to bogus read-only mappings.
 
 - Fix sparse warnings in our cmpxchg() implementation.
 
 - Prevent runtime-const being used in modules, just like x86.
 
 - Fix broken elision of access flag modifications for contiguous entries
   on systems without support for hardware updates.
 
 - Fix a broken SVE selftest that was testing the wrong instruction.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCgAuFiEEPxTL6PPUbjXGY88ct6xw3ITBYzQFAmmrH5wQHHdpbGxAa2Vy
 bmVsLm9yZwAKCRC3rHDchMFjNLiWB/40+A3Q3gz9VB3obupFeC/s688TjGMwLbIO
 m03Qu/ulGwBZaPRPZxsxnr8pFZKjSple5NJiHv5kQ/wR4Cfc4zwF2zOSdRvAI/c3
 qPT2YL0CcVt0OgbWd2VCjiThTuFREewdCqRWbmkDaPYd27k0KWY14gHHpriRw7XM
 QY0OOz8wrWi3lg2Wyvub9wWLkyjKtFlrkwZaACD5D90k/CwKVgncC1z4vh41hQxk
 qjxdygNJt2sV+31+F7QMoY/rbyVnUkdSvWSwe9z2Bs9mwebaoGgx4c1l47Wq+oQD
 NiVgHOZnPQkDgd2MWkUiCwzAr6C3B0aF2BCu+NTgILkbX7PyG792
 =knFu
 -----END PGP SIGNATURE-----

Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull arm64 fixes from Will Deacon:
 "The main changes are a fix to the way in which we manage the access
  flag setting for mappings using the contiguous bit and a fix for a
  hang on the kexec/hibernation path.

  Summary:

   - Fix kexec/hibernation hang due to bogus read-only mappings

   - Fix sparse warnings in our cmpxchg() implementation

   - Prevent runtime-const being used in modules, just like x86

   - Fix broken elision of access flag modifications for contiguous
     entries on systems without support for hardware updates

   - Fix a broken SVE selftest that was testing the wrong instruction"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  selftest/arm64: Fix sve2p1_sigill() to hwcap test
  arm64: contpte: fix set_access_flags() no-op check for SMMU/ATS faults
  arm64: make runtime const not usable by modules
  arm64: mm: Add PTE_DIRTY back to PAGE_KERNEL* to fix kexec/hibernation
  arm64: Silence sparse warnings caused by the type casting in (cmp)xchg
2026-03-06 19:57:03 -08:00
..
stacktrace arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
vdso arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
xen arm64: ptrace: Replace interrupts_enabled() with regs_irqs_disabled() 2025-09-11 15:55:34 +01:00
acenv.h
acpi.h arm64: Handle KCOV __init vs inline mismatches 2025-07-24 16:55:11 -07:00
alternative-macros.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
alternative.h arm64 updates for 6.19: 2025-12-02 17:03:55 -08:00
apple_m1_pmu.h drivers/perf: apple_m1: Support host/guest event filtering 2025-03-11 12:52:32 -07:00
arch_gicv3.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
arch_timer.h arm64/arch_timer: include <linux/percpu.h> 2024-06-12 15:44:19 +01:00
archrandom.h arm64: head: Move early kernel mapping routines into C code 2024-02-16 12:42:33 +00:00
arm-cci.h
arm_dsu_pmu.h
arm_pmuv3.h perf/arm_pmuv3: Add PMUv3.9 per counter EL0 access control 2024-10-28 17:27:15 +00:00
asm-bug.h arm64/bug: Add ARCH_WARN_ASM macro for BUG/WARN asm code sharing with Rust 2025-07-23 00:04:53 +02:00
asm-extable.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
asm-offsets.h
asm-prototypes.h
asm-uaccess.h arm64: lib: Use MOPS for usercopy routines 2025-03-07 18:30:16 +00:00
asm_pointer_auth.h arm64/sysreg: Add _EL1 into ID_AA64ISAR2_EL1 definition names 2022-07-05 11:45:46 +01:00
assembler.h arm64: errata: Workaround for SI L1 downstream coherency issue 2026-01-23 13:30:38 +00:00
atomic.h locking/atomic: make atomic*_{cmp,}xchg optional 2023-06-05 09:57:14 +02:00
atomic_ll_sc.h arch: Remove cmpxchg_double 2023-06-05 09:36:39 +02:00
atomic_lse.h arm64: atomics: lse: Remove unused parameters from ATOMIC_FETCH_OP_AND macros 2025-11-27 18:15:24 +00:00
barrier.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
bitops.h
bitrev.h
boot.h
brk-imm.h arm64: kretprobes: acquire the regs via a BRK exception 2024-02-20 18:13:57 +00:00
bug.h bugs/core: Extend __WARN_FLAGS() with the 'cond_str' parameter 2025-06-13 10:20:52 +02:00
cache.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
cacheflush.h mm: remove page_mapping() 2024-07-03 19:29:59 -07:00
cfi.h arm64/cfi,bpf: Support kCFI + BPF on arm64 2025-07-31 18:23:54 -07:00
checksum.h
clocksource.h
cmpxchg.h arm64: Silence sparse warnings caused by the type casting in (cmp)xchg 2026-03-04 14:31:27 +00:00
compat.h arm64: avoid prototype warnings for syscalls 2023-05-25 17:44:01 +01:00
compiler.h arm64: move PAC masks to <asm/pointer_auth.h> 2023-04-13 12:27:11 +01:00
cpu.h arm64: Expose AIDR_EL1 via sysfs 2025-04-29 14:03:18 +01:00
cpu_ops.h arm64: cpuidle: remove generic cpuidle support 2022-06-23 14:19:33 +01:00
cpucaps.h arm64: Unconditionally enable PAN support 2026-01-22 10:16:42 +00:00
cpufeature.h Merge branches 'for-next/misc', 'for-next/kselftest', 'for-next/efi-preempt', 'for-next/assembler-macro', 'for-next/typos', 'for-next/sme-ptrace-disable', 'for-next/local-tlbi-page-reused', 'for-next/mpam', 'for-next/acpi' and 'for-next/documentation', remote-tracking branch 'arm64/for-next/perf' into for-next/core 2025-11-28 15:47:12 +00:00
cpuidle.h arm64: cpuidle: remove generic cpuidle support 2022-06-23 14:19:33 +01:00
cputype.h Merge branch 'for-next/sysreg' into for-next/core 2025-11-28 15:47:53 +00:00
crash_reserve.h kexec: split crashkernel reservation code out from crash_core.c 2024-02-23 17:48:21 -08:00
current.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
daifflags.h arm64: ptrace: Replace interrupts_enabled() with regs_irqs_disabled() 2025-09-11 15:55:34 +01:00
dcc.h
debug-monitors.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
device.h
dmi.h
efi.h arm64/efi: Don't fail check current_in_efi() if preemptible 2026-01-06 11:54:31 +00:00
el2_setup.h Merge branch kvm-arm64/gicv5-prologue into kvmarm-master/next 2026-02-05 09:17:30 +00:00
elf.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
entry-common.h arm64: entry: Switch to generic IRQ entry 2025-09-11 15:55:35 +01:00
esr.h KVM: arm64: Handle DABT caused by LS64* instructions on unsupported memory 2026-01-22 13:24:49 +00:00
exception.h arm64: entry: Switch to generic IRQ entry 2025-09-11 15:55:35 +01:00
exec.h
extable.h arm64: mm: Handle PAN faults on uaccess CPY* instructions 2025-03-07 18:28:29 +00:00
fixmap.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
fpsimd.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
fpsimdmacros.h arm64: Delete the zero_za macro 2023-12-11 13:18:06 +00:00
fpu.h arm64/fpsimd: Allocate kernel mode FP/SIMD buffers on the stack 2025-11-12 09:52:03 +01:00
ftrace.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
futex.h
gcs.h arm64: uaccess: Add additional userspace GCS accessors 2025-09-16 21:32:53 +01:00
gpr-num.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
hardirq.h arm64: errata: Work around AmpereOne's erratum AC04_CPU_23 2025-05-19 12:46:26 +01:00
hugetlb.h mm, arch: consolidate hugetlb CMA reservation 2026-01-26 20:02:19 -08:00
hw_breakpoint.h arm64/hw_breakpoint: Directly use ESR_ELx_WNR for an watchpoint exception 2024-03-01 17:36:51 +00:00
hwcap.h arm64: Add support for FEAT_{LS64, LS64_V} 2026-01-22 13:24:49 +00:00
hyp_image.h
hypervisor.h smccc/kvm_guest: Enable errata based on implementation CPUs 2025-02-26 13:30:37 -08:00
image.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
insn-def.h
insn.h arm64: Unconditionally enable LSE support 2026-01-22 10:16:41 +00:00
io.h arm64: io: Extract user memory type in ioremap_prot() 2026-02-25 19:49:52 +00:00
irq.h arm64: irq: include <linux/cpumask.h> 2024-01-12 12:44:18 +00:00
irq_work.h arch: consolidate arch_irq_work_raise prototypes 2023-11-23 11:32:29 +01:00
irqflags.h arm64: Remove unnecessary irqflags alternative.h include 2024-04-10 17:15:09 +01:00
jump_label.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
kasan.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
Kbuild fprobe: Add fprobe_header encoding feature 2024-12-26 10:50:05 -05:00
kernel-pgtable.h arm64: Work around convergence issue with LLD linker 2025-06-02 12:53:18 +01:00
kexec.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
kfence.h arm64: mm: Don't sleep in split_kernel_leaf_mapping() when in atomic context 2025-11-07 14:43:15 +00:00
kgdb.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
kprobes.h arm64: debug: call software breakpoint handlers statically 2025-07-08 13:27:41 +01:00
kvm_arm.h Merge branch kvm-arm64/pkvm-no-mte into kvmarm-master/next 2026-02-05 09:16:31 +00:00
kvm_asm.h KVM: arm64: Don't blindly set set PSTATE.PAN on guest exit 2026-01-09 15:43:14 -08:00
kvm_emulate.h arm64 updates for 7.0 2026-02-09 20:28:45 -08:00
kvm_host.h KVM: arm64: Optimise away S1POE handling when not supported by host 2026-02-13 14:54:48 +00:00
kvm_hyp.h KVM: arm64: GICv3: nv: Resync LRs/VMCR/HCR early for better MI emulation 2025-11-24 14:29:14 -08:00
kvm_mmu.h KVM: arm64: Calculate hyp VA size only once 2026-01-14 10:40:11 +00:00
kvm_mte.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
kvm_nested.h KVM: arm64: Deduplicate ASID retrieval code 2026-02-25 12:19:33 +00:00
kvm_pgtable.h Merge branch kvm-arm64/fwb-for-all into kvmarm-master/next 2026-02-05 09:16:42 +00:00
kvm_pkvm.h KVM: arm64: Check whether a VM IOCTL is allowed in pKVM 2026-01-15 15:55:50 +00:00
kvm_ptrauth.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
kvm_types.h
linkage.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
lse.h arm64: Unconditionally enable LSE support 2026-01-22 10:16:41 +00:00
mem_encrypt.h arm64: Add missing includes for mem_encrypt 2025-04-29 16:20:11 +01:00
memory.h arm64: Add MT_S2{,_FWB}_AS_S1 encodings 2026-01-25 16:17:21 +00:00
mman.h mm: update architecture and driver code to use vm_flags_t 2025-07-09 22:42:14 -07:00
mmu.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
mmu_context.h Merge branch 'for-next/sysreg' into for-next/core 2025-11-28 15:47:53 +00:00
module.h arm64: ftrace: fix unreachable PLT for ftrace_caller in init_module with CONFIG_DYNAMIC_FTRACE 2025-09-05 16:56:20 +01:00
module.lds.h arm64: ftrace: fix unreachable PLT for ftrace_caller in init_module with CONFIG_DYNAMIC_FTRACE 2025-09-05 16:56:20 +01:00
mshyperv.h arm64/hyperv: Add some missing functions to arm64 2025-03-20 21:23:03 +00:00
mte-def.h
mte-kasan.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
mte.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
neon-intrinsics.h
neon.h arm64/fpsimd: Allocate kernel mode FP/SIMD buffers on the stack 2025-11-12 09:52:03 +01:00
numa.h
page-def.h vdso: Introduce vdso/page.h 2024-10-16 00:13:04 +02:00
page.h treewide: provide a generic clear_user_page() variant 2026-01-20 19:24:39 -08:00
paravirt.h arm64/paravirt: Use common code for paravirt_steal_clock() 2026-01-12 16:30:00 +01:00
pci.h asm-generic: Add new pci.h and use it 2022-07-22 17:34:57 -05:00
percpu.h arm64: Use load LSE atomics for the non-return per-CPU atomic operations 2025-11-07 14:20:07 +00:00
perf_event.h perf/core: Correct perf sampling with guest VMs 2024-11-14 10:40:01 +01:00
pgalloc.h arm64: pgtable: use mmu gather to free p4d level page table 2025-01-25 20:22:21 -08:00
pgtable-hwdef.h arm64/sysreg: Replace TCR_EL1 field macros 2025-11-13 15:58:30 +00:00
pgtable-prot.h arm64: mm: Add PTE_DIRTY back to PAGE_KERNEL* to fix kexec/hibernation 2026-03-04 14:33:08 +00:00
pgtable-types.h arm64/mm: define ptdesc_t 2025-05-11 17:48:19 -07:00
pgtable.h arm64 fixes for -rc1 2026-02-20 09:44:39 -08:00
pkeys.h arm64: pkeys: remove redundant WARN 2024-09-10 18:19:59 +01:00
pointer_auth.h arm64: move PAC masks to <asm/pointer_auth.h> 2023-04-13 12:27:11 +01:00
por.h arm64/sysreg: Move POR_EL0_INIT to asm/por.h 2025-03-10 18:10:41 +00:00
preempt.h arm64: entry: Switch to generic IRQ entry 2025-09-11 15:55:35 +01:00
probes.h arm64: probes: Remove probe_opcode_t 2024-10-15 18:16:20 +01:00
proc-fns.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
processor.h arm64 FPSIMD buffer on-stack for 6.19 2025-12-02 18:53:50 -08:00
ptdump.h arm64: Enable vmalloc-huge with ptdump 2025-09-22 11:53:24 +01:00
ptrace.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
pvclock-abi.h
rqspinlock.h bpf: Use architecture provided res_smp_cond_load_acquire 2025-04-10 12:47:07 -07:00
rsi.h arm64: realm: ioremap: Allow mapping memory as encrypted 2025-09-19 10:12:01 +01:00
rsi_cmds.h arm64: Add missing includes for mem_encrypt 2025-04-29 16:20:11 +01:00
rsi_smc.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
runtime-const.h arm64: make runtime const not usable by modules 2026-03-04 16:13:58 +00:00
rwonce.h arm64: Fix non-atomic __READ_ONCE() with CONFIG_LTO=y 2026-02-02 15:40:54 +00:00
scs.h arm64 updates for 6.19: 2025-12-02 17:03:55 -08:00
sdei.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
seccomp.h arm64: Remove duplicate included header 2025-01-10 13:44:22 +00:00
sections.h KVM: arm64: Add .hyp.data section 2025-05-06 09:56:18 +01:00
semihost.h serial: earlycon-arm-semihost: Move smh_putc() variants in respective arch's semihost.h 2023-01-19 14:58:19 +01:00
set_memory.h - The series "zram: optimal post-processing target selection" from 2024-11-23 09:58:07 -08:00
setup.h arm64: mm: Rework the 'rodata=' options 2025-09-16 20:53:13 +01:00
shmparam.h
signal.h
signal32.h
simd.h arm64/simd: Avoid pointless clearing of FP/SIMD buffer 2025-12-14 10:18:22 -08:00
smp.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
smp_plat.h
sparsemem.h arm64/mm: Reduce PA space to 48 bits when LPA2 is not enabled 2024-12-19 17:23:52 +00:00
spectre.h arm64 updates for 6.19: 2025-12-02 17:03:55 -08:00
spinlock.h
spinlock_types.h Improve consistency of '#error' directive messages 2024-11-11 17:17:04 -08:00
stack_pointer.h
stackprotector.h stackprotector: actually use get_random_canary() 2022-11-18 02:18:10 +01:00
stacktrace.h arm64: remove CONFIG_VMAP_STACK checks from stacktrace overflow logic 2025-07-08 13:41:09 +01:00
stage2_pgtable.h KVM: arm64: Move VTCR_EL2 into struct s2_mmu 2023-10-23 18:48:46 +00:00
stat.h
string.h
suspend.h arm64: Fix cleared E0POE bit after cpu_suspend()/resume() 2026-01-09 10:41:45 +00:00
sync_bitops.h
syscall.h arm64: Avoid memcpy() for syscall_get_arguments() 2026-01-05 16:47:48 +00:00
syscall_wrapper.h posix-timers: Get rid of [COMPAT_]SYS_NI() uses 2023-12-20 21:30:27 -08:00
sysreg.h Merge branch kvm-arm64/resx into kvmarm-master/next 2026-02-05 09:17:48 +00:00
system_misc.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
text-patching.h asm-generic: introduce text-patching.h 2024-11-07 14:25:15 -08:00
thread_info.h mm.git review status for linus..mm-stable 2026-02-12 11:32:37 -08:00
timex.h
tlb.h mm: pgtable: introduce generic __tlb_remove_table() 2025-01-25 20:22:23 -08:00
tlbbatch.h arm64: support batched/deferred tlb shootdown during page reclamation/migration 2023-08-18 10:12:37 -07:00
tlbflush.h arm64: tlb: Optimize ARM64_WORKAROUND_REPEAT_TLBI 2026-02-25 21:37:44 +00:00
topology.h arch_topology: move parse_acpi_topology() to common code 2025-10-22 08:10:57 +02:00
trans_pgd.h
traps.h KVM: arm64: Dump instruction on hyp panic 2025-09-15 13:04:22 +01:00
uaccess.h arm64: Unconditionally enable PAN support 2026-01-22 10:16:42 +00:00
unistd.h arm64: rework compat syscall macros 2024-07-10 14:23:38 +02:00
unistd32.h arm64: convert unistd_32.h to syscall.tbl format 2024-07-10 14:23:38 +02:00
uprobes.h arm64: debug: call step handlers statically 2025-07-08 13:27:41 +01:00
vdso.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
vectors.h arm64: Avoid cpus_have_const_cap() for ARM64_UNMAP_KERNEL_AT_EL0 2023-10-16 14:17:06 +01:00
vermagic.h
virt.h ARM: 2025-12-05 17:01:20 -08:00
vmalloc.h arm64: Enable vmalloc-huge with ptdump 2025-09-22 11:53:24 +01:00
vmap_stack.h arm64: Remove assertion on CONFIG_VMAP_STACK 2025-11-07 19:46:39 +00:00
vncr_mapping.h KVM: arm64: Add trap configs for PMSDSFR_EL1 2025-09-19 14:30:49 +01:00
word-at-a-time.h arm64: word-at-a-time: improve byte count calculations for LE 2024-06-19 12:35:19 -07:00
xor.h arm64/xorblocks: Switch to 'ksimd' scoped guard API 2025-11-12 09:52:02 +01:00