OpenCloudOS-Kernel/arch/arm64/include/asm
Linus Torvalds 39ce4395c3 arm64 fixes:
- In copy_highpage(), only reset the tag of the destination pointer if
   KASAN_HW_TAGS is enabled so that user-space MTE does not interfere
   with KASAN_SW_TAGS (which relies on top-byte-ignore).
 
 - Remove warning if SME is detected without SVE, the kernel can cope
   with such configuration (though none in the field currently).
 
 - In cfi_handler(), pass the ESR_EL1 value to die() for consistency with
   other die() callers.
 
 - Disable HUGETLB_PAGE_OPTIMIZE_VMEMMAP on arm64 since the pte
   manipulation from the generic vmemmap_remap_pte() does not follow the
   required ARM break-before-make sequence (clear the pte, flush the
   TLBs, set the new pte). It may be re-enabled once this sequence is
   sorted.
 
 - Fix possible memory leak in the arm64 ACPI code if the SMCCC version
   and conduit checks fail.
 
 - Forbid CALL_OPS with CC_OPTIMIZE_FOR_SIZE since gcc ignores
   -falign-functions=N with -Os.
 
 - Don't pretend KASLR is enabled if offset < MIN_KIMG_ALIGN as no
   randomisation would actually take place.
 -----BEGIN PGP SIGNATURE-----
 
 iQIyBAABCgAdFiEE5RElWfyWxS+3PLO2a9axLQDIXvEFAmQBHFEACgkQa9axLQDI
 XvHf9Q/3Zg8o/8HchnWSvzgV//9ljGrrDfAjbfZHrE2W4PCniSd0op0uXYsVK3IH
 Nk6ZDiRe5uIXKgHuSq5caOoL4aRk0hk1TpQ3RKCuh8E3ybhQe9gwYm8xEWXDSSWh
 QzcfENsKlZLpuMoSMILJ2NlMPMbMLprXNCUlgENBbRT7KUToHZKTwE6BL2AUI3tg
 RdMntccorybxk1hiXV1YKT8482i+x2gAnylYXFsq3eI+G54rdfiks+tft0CQV3ng
 1/i1PfbnGC45sBoxXPqYXzBSUDNHpAqb5dwvtlVinGo3J6STxIvbM6Zi5Ma5hl3u
 QrhwyduwCTZ6wVOqzd4KAH9gmhJSzRG75OzCek2dTwU9KXVMOPEvp1ZfTwUXDx7J
 5j8UkjGgrbtj6IioGqBAO/HiFfoty8EBtmlSZIj0thwxkM73ZBG6efQOJaVWh85m
 ioUzMC2Y5yfKLfHEcy9yKIQVizMYoz6fl+QHOEbVSoFhJKNRc4wt5CCJCvsbMHsu
 K8rvD/CI9jFMP9GEK7ObTaC7ICjUz/+8wbIrRrm5ObRQ65Tm2zv3OLqGnK8O5O4W
 gcDEraTnSPHDUtgG6dAEPFN5Wi9hT3zYC0xAcNhc3aZC5ofS5RD6YXIWJvqjWrvL
 5k8G1gfa57C/hfxO6pPw7bg/nY8vvYpxUkZ9erRWD430g7y0Sg==
 =jfPa
 -----END PGP SIGNATURE-----

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

Pull arm64 fixes from Catalin Marinas:

 - In copy_highpage(), only reset the tag of the destination pointer if
   KASAN_HW_TAGS is enabled so that user-space MTE does not interfere
   with KASAN_SW_TAGS (which relies on top-byte-ignore).

 - Remove warning if SME is detected without SVE, the kernel can cope
   with such configuration (though none in the field currently).

 - In cfi_handler(), pass the ESR_EL1 value to die() for consistency
   with other die() callers.

 - Disable HUGETLB_PAGE_OPTIMIZE_VMEMMAP on arm64 since the pte
   manipulation from the generic vmemmap_remap_pte() does not follow the
   required ARM break-before-make sequence (clear the pte, flush the
   TLBs, set the new pte). It may be re-enabled once this sequence is
   sorted.

 - Fix possible memory leak in the arm64 ACPI code if the SMCCC version
   and conduit checks fail.

 - Forbid CALL_OPS with CC_OPTIMIZE_FOR_SIZE since gcc ignores
  -falign-functions=N with -Os.

 - Don't pretend KASLR is enabled if offset < MIN_KIMG_ALIGN as no
   randomisation would actually take place.

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  arm64: kaslr: don't pretend KASLR is enabled if offset < MIN_KIMG_ALIGN
  arm64: ftrace: forbid CALL_OPS with CC_OPTIMIZE_FOR_SIZE
  arm64: acpi: Fix possible memory leak of ffh_ctxt
  arm64: mm: hugetlb: Disable HUGETLB_PAGE_OPTIMIZE_VMEMMAP
  arm64: pass ESR_ELx to die() of cfi_handler
  arm64/fpsimd: Remove warning for SME without SVE
  arm64: Reset KASAN tag in copy_highpage with HW tags only
2023-03-02 14:57:53 -08:00
..
stacktrace arm64: stacktrace: track hyp stacks in unwinder's address space 2022-09-09 12:30:08 +01:00
vdso arm64: vdso: use SYS_CNTVCTSS_EL0 for gettimeofday 2022-09-09 12:27:25 +01:00
xen arm/xen: Introduce xen_setup_dma_ops() 2022-06-06 08:54:33 +02:00
Kbuild arm64/sysreg: Enable automatic generation of system register definitions 2022-05-04 15:30:28 +01:00
acenv.h
acpi.h Revert "ACPI: Add memory semantics to acpi_os_map_memory()" 2021-09-23 20:39:36 +02:00
alternative-macros.h arm64: alternative: constify alternative_has_feature_* argument 2022-11-07 15:59:14 +00:00
alternative.h
apple_m1_pmu.h drivers/perf: Add Apple icestorm/firestorm CPU PMU driver 2022-03-08 13:32:48 +00:00
arch_gicv3.h arm64: add ARM64_HAS_GIC_PRIO_RELAXED_SYNC cpucap 2023-01-31 16:06:17 +00:00
arch_timer.h arm64: Add CNT{P,V}CTSS_EL0 alternatives to cnt{p,v}ct_el0 2021-10-19 10:56:20 +01:00
archrandom.h random: remove early archrandom abstraction 2022-11-18 02:18:10 +01:00
arm-cci.h
arm_dsu_pmu.h
asm-bug.h bug: Use normal relative pointers in 'struct bug_entry' 2022-05-19 23:46:10 +02:00
asm-extable.h arm64: extable: cleanup redundant extable type EX_TYPE_FIXUP 2022-06-28 12:11:47 +01:00
asm-offsets.h
asm-prototypes.h kasan: arm64: support specialized outlined tag mismatch checks 2021-05-26 23:31:26 +01:00
asm-uaccess.h arm64: extable: make uaaccess helper use extable type EX_TYPE_UACCESS_ERR_ZERO 2022-06-28 12:11:47 +01: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 Merge branch 'for-next/trivial' into for-next/core 2022-12-06 11:33:29 +00:00
atomic.h locking/atomic: make ARCH_ATOMIC a Kconfig symbol 2021-05-26 13:20:49 +02:00
atomic_ll_sc.h arm64: cmpxchg_double*: hazard against entire exchange variable 2023-01-05 15:28:15 +00:00
atomic_lse.h arm64: cmpxchg_double*: hazard against entire exchange variable 2023-01-05 15:28:15 +00:00
barrier.h arm64: add ARM64_HAS_GIC_PRIO_RELAXED_SYNC cpucap 2023-01-31 16:06:17 +00:00
bitops.h include: move find.h from asm_generic to linux 2022-01-15 08:47:31 -08:00
bitrev.h
boot.h
brk-imm.h arm64: Support Clang UBSAN trap codes for better reporting 2023-02-08 15:26:58 -08:00
bug.h
cache.h KVM: arm64: Normalize cache configuration 2023-01-21 18:09:23 +00:00
cacheflush.h arm64: mm: Remove assembly DMA cache maintenance wrappers 2022-07-05 13:06:31 +01:00
checksum.h arm64: csum: cast to the proper type 2021-03-15 10:57:21 +00:00
clocksource.h
cmpxchg.h arm64: atomics: lse: Dereference matching size 2022-01-20 09:13:48 +00:00
compat.h asm-generic: compat: Cleanup duplicate definitions 2022-04-26 13:35:54 -07:00
compiler.h cfi: Use __builtin_function_start 2022-04-13 12:16:00 -07:00
cpu.h arm64/sme: Expose SMIDR through sysfs 2022-06-23 18:22:44 +01:00
cpu_ops.h arm64: cpuidle: remove generic cpuidle support 2022-06-23 14:19:33 +01:00
cpufeature.h Merge branches 'for-next/sysreg', 'for-next/sme', 'for-next/kselftest', 'for-next/misc', 'for-next/sme2', 'for-next/tpidr2', 'for-next/scs', 'for-next/compat-hwcap', 'for-next/ftrace', 'for-next/efi-boot-mmu-on', 'for-next/ptrauth' and 'for-next/pseudo-nmi', remote-tracking branch 'arm64/for-next/perf' into for-next/core 2023-02-10 18:51:49 +00:00
cpuidle.h arm64: cpuidle: remove generic cpuidle support 2022-06-23 14:19:33 +01:00
cputype.h KVM: arm64: vgic: Add Apple M2 cpus to the list of broken SEIS implementations 2023-01-05 15:25:19 +00:00
current.h
daifflags.h arm64: entry: always set GIC_PRIO_PSR_I_SET during entry 2021-05-05 18:13:58 +01:00
dcc.h
debug-monitors.h arm64: Treat ESR_ELx as a 64-bit register 2022-04-29 19:26:27 +01:00
device.h
dmi.h
efi.h A healthy mix of EFI contributions this time: 2023-02-23 14:41:48 -08:00
el2_setup.h ARM: 2023-02-25 11:30:21 -08:00
elf.h arm64: exec: Adjust affinity for compat tasks with mismatched 32-bit EL0 2021-08-20 12:33:06 +02:00
esr.h arm64 updates for 6.3: 2023-02-21 15:27:48 -08:00
exception.h arm64: split EL0/EL1 UNDEF handlers 2022-11-15 13:46:17 +00:00
exec.h
extable.h arm64/bpf: Remove 128MB limit for BPF JIT programs 2021-11-08 22:16:26 +01:00
fb.h
fixmap.h arm64: entry: simplify trampoline data page 2022-06-24 13:08:30 +01:00
fpsimd.h arm64/sme: Implement signal handling for ZT 2023-01-20 12:23:06 +00:00
fpsimdmacros.h arm64/sme: Manually encode ZT0 load and store instructions 2023-01-20 12:23:06 +00:00
ftrace.h arm64: Implement HAVE_DYNAMIC_FTRACE_WITH_CALL_OPS 2023-01-24 11:49:43 +00:00
futex.h arm64: extable: add a dedicated uaccess handler 2021-10-21 10:45:22 +01:00
gpr-num.h arm64: gpr-num: support W registers 2021-10-21 10:45:22 +01:00
hardirq.h
hugetlb.h arm64: errata: Workaround possible Cortex-A715 [ESR|FAR]_ELx corruption 2023-01-06 17:14:55 +00:00
hw_breakpoint.h arm64/sysreg: Add _EL1 into ID_AA64DFR0_EL1 definition names 2022-09-16 12:38:57 +01:00
hwcap.h Merge branches 'for-next/sysreg', 'for-next/sme', 'for-next/kselftest', 'for-next/misc', 'for-next/sme2', 'for-next/tpidr2', 'for-next/scs', 'for-next/compat-hwcap', 'for-next/ftrace', 'for-next/efi-boot-mmu-on', 'for-next/ptrauth' and 'for-next/pseudo-nmi', remote-tracking branch 'arm64/for-next/perf' into for-next/core 2023-02-10 18:51:49 +00:00
hyp_image.h KVM: arm64: Allow using kvm_nvhe_sym() in hyp code 2021-03-19 12:01:20 +00:00
hyperv-tlfs.h PCI: hv: Add arm64 Hyper-V vPCI support 2022-01-12 08:24:29 -06:00
hypervisor.h arm/arm64: Probe for the presence of KVM hypervisor 2021-03-31 09:16:55 +01:00
image.h
insn-def.h arm64: move AARCH64_BREAK_FAULT into insn-def.h 2022-02-22 21:25:48 +00:00
insn.h arm64: insn: Add helpers for BTI 2023-01-24 11:49:43 +00:00
io.h asm-generic: updates for 6.0 2022-08-05 10:07:23 -07:00
irq.h arm64: irq: allow FIQs to be handled 2021-03-24 20:19:30 +00:00
irq_work.h arm64: smp: Add missing prototype for some smp.c functions 2021-03-29 10:41:42 +01:00
irqflags.h arm64: irqflags: use alternative branches for pseudo-NMI logic 2023-01-31 16:06:17 +00:00
jump_label.h arm64: jump_label: mark arguments as const to satisfy asm constraints 2022-11-07 15:59:14 +00:00
kasan.h arm64: kasan: simplify and inline MTE functions 2021-02-26 09:41:03 -08:00
kernel-pgtable.h arm64/mm: Drop ARM64_KERNEL_USES_PMD_MAPS 2022-11-08 13:59:36 +00:00
kexec.h kexec: drop weak attribute from functions 2022-07-15 12:21:16 -04:00
kfence.h set_memory: allow querying whether set_direct_map_*() is actually enabled 2021-07-08 11:48:20 -07:00
kgdb.h
kprobes.h kprobes: treewide: Make it harder to refer kretprobe_trampoline directly 2021-09-30 21:24:06 -04:00
kvm_arm.h Merge branch kvm-arm64/nv-prefix into kvmarm/next 2023-02-13 23:33:41 +00:00
kvm_asm.h KVM: arm64: Unmap 'kvm_arm_hyp_percpu_base' from the host 2022-11-11 17:19:35 +00:00
kvm_emulate.h Merge branch kvm-arm64/nv-prefix into kvmarm/next 2023-02-13 23:33:41 +00:00
kvm_host.h Merge branch kvm-arm64/nv-prefix into kvmarm/next 2023-02-13 23:33:41 +00:00
kvm_hyp.h KVM: arm64: Provide sanitized SYS_ID_AA64SMFR0_EL1 to nVHE 2023-02-02 21:46:43 +00:00
kvm_mmu.h Merge branch kvm-arm64/nv-prefix into kvmarm/next 2023-02-13 23:33:41 +00:00
kvm_mte.h KVM: arm64: Save/restore MTE registers 2021-06-22 14:08:05 +01:00
kvm_nested.h KVM: arm64: nv: Filter out unsupported features from ID regs 2023-02-11 10:13:30 +00:00
kvm_pgtable.h KVM: arm64: Ignore EAGAIN for walks outside of a fault 2023-01-12 21:09:20 +00:00
kvm_pkvm.h KVM: arm64: Instantiate pKVM hypervisor VM and vCPU structures from EL1 2022-11-11 17:16:24 +00:00
kvm_ptrauth.h
kvm_ras.h KVM: arm64: Treat ESR_EL2 as a 64-bit register 2022-04-29 19:26:27 +01:00
kvm_types.h
linkage.h arm64: Extend support for CONFIG_FUNCTION_ALIGNMENT 2023-01-24 11:49:43 +00:00
lse.h arm64: atomics: lse: remove stale dependency on JUMP_LABEL 2022-11-14 14:44:14 +00:00
memory.h arm64: kaslr: don't pretend KASLR is enabled if offset < MIN_KIMG_ALIGN 2023-02-28 11:21:04 +00:00
mman.h arm64/mm: enable ARCH_HAS_VM_GET_PAGE_PROT 2022-04-28 23:16:13 -07:00
mmu.h arm64: Add missing include of asm/cpufeature.h to asm/mmu.h 2021-12-06 08:37:03 +00:00
mmu_context.h arm64/kpti: Move DAIF masking to C code 2022-11-25 12:17:52 +00:00
mmzone.h
module.h Merge branches 'for-next/doc', 'for-next/sve', 'for-next/sysreg', 'for-next/gettimeofday', 'for-next/stacktrace', 'for-next/atomics', 'for-next/el1-exceptions', 'for-next/a510-erratum-2658417', 'for-next/defconfig', 'for-next/tpidr2_el0' and 'for-next/ftrace', remote-tracking branch 'arm64/for-next/perf' into for-next/core 2022-09-30 09:17:57 +01:00
module.lds.h arm64: unwind: add asynchronous unwind tables to kernel and modules 2022-11-09 18:06:35 +00:00
mshyperv.h arm64: hyperv: Add Hyper-V hypercall and register access utilities 2021-08-04 16:54:36 +00:00
mte-def.h arm64: mte: Define the number of bytes for storing the tags in a page 2022-02-15 22:53:29 +00:00
mte-kasan.h printk: stop including cache.h from printk.h 2022-05-13 07:20:07 -07:00
mte.h arm64: mte: Lock a page for MTE tag initialisation 2022-11-29 09:26:07 +00:00
neon-intrinsics.h
neon.h
numa.h
page-def.h
page.h mm: add vma_alloc_zeroed_movable_folio() 2023-02-02 22:33:18 -08:00
paravirt.h x86/paravirt: Switch time pvops functions to use static_call() 2021-03-11 16:17:52 +01:00
paravirt_api_clock.h sched/headers: Add initial new headers as identity mappings 2022-02-23 10:58:28 +01:00
patching.h arm64: patching: Add aarch64_insn_write_literal_u64() 2023-01-24 11:49:43 +00:00
pci.h asm-generic: Add new pci.h and use it 2022-07-22 17:34:57 -05:00
percpu.h printk: stop including cache.h from printk.h 2022-05-13 07:20:07 -07:00
perf_event.h arm64: perf: Consistently make all event numbers as 16-bits 2022-03-08 11:41:03 +00:00
pgalloc.h arm64: mm: Fix VM_BUG_ON(mm != &init_mm) for trans_pgd 2021-11-16 10:12:57 +00:00
pgtable-hwdef.h arm64/mm: Simplify and document pte_to_phys() for 52 bit addresses 2022-11-09 18:13:18 +00:00
pgtable-prot.h arm64/mm: move protection_map[] inside the platform 2022-07-17 17:14:37 -07:00
pgtable-types.h
pgtable.h - Daniel Verkamp has contributed a memfd series ("mm/memfd: add 2023-02-23 17:09:35 -08:00
pointer_auth.h arm64: move preemption disablement to prctl handlers 2021-07-28 18:33:49 +01:00
preempt.h arm64: Support PREEMPT_DYNAMIC 2022-02-19 11:11:09 +01:00
probes.h
proc-fns.h
processor.h arm64/sme: Rename za_state to sme_state 2023-01-20 12:23:05 +00:00
ptdump.h ARM: 9255/1: efi/dump UEFI runtime page tables for ARM 2022-11-07 14:19:01 +00:00
ptrace.h arm64: rename ARM64_HAS_IRQ_PRIO_MASKING to ARM64_HAS_GIC_PRIO_MASKING 2023-01-31 16:06:17 +00:00
pvclock-abi.h
rwonce.h arm64: Do not include __READ_ONCE() block in assembly files 2022-03-09 21:56:50 +00:00
scs.h arm64: Always load shadow stack pointer directly from the task struct 2023-01-20 14:26:18 +00:00
sdei.h arm64: stacktrace: move SDEI stack helpers to stacktrace code 2022-09-09 12:30:07 +01:00
seccomp.h
sections.h arm64: entry: Allow the trampoline text to occupy multiple pages 2022-02-15 17:40:28 +00: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 set_memory: allow querying whether set_direct_map_*() is actually enabled 2021-07-08 11:48:20 -07:00
setup.h arm64: fix rodata=full 2022-08-23 11:02:02 +01:00
shmparam.h
signal.h
signal32.h
simd.h arm64: replace in_irq() with in_hardirq() 2021-08-20 19:49:38 +01:00
smp.h arm64: smp: remove stack from secondary_data 2021-05-26 22:45:46 +01:00
smp_plat.h arm64: Add missing header <asm/smp.h> in two files 2021-07-12 13:37:34 +01:00
sparsemem.h arm64: Force SPARSEMEM_VMEMMAP as the only memory management model 2021-04-23 14:18:21 +01:00
spectre.h arm64: factor out EL1 SSBS emulation hook 2022-11-15 13:46:18 +00:00
spinlock.h locking/arch: Move qrwlock.h include after qspinlock.h 2021-02-11 07:59:54 -05:00
spinlock_types.h locking: Allow to include asm/spinlock_types.h from linux/spinlock_types_raw.h 2021-12-07 15:14:12 +01:00
stack_pointer.h
stackprotector.h stackprotector: actually use get_random_canary() 2022-11-18 02:18:10 +01:00
stacktrace.h arm64: efi: Account for the EFI runtime stack in stack unwinder 2023-01-16 15:27:31 +01:00
stage2_pgtable.h KVM: arm64: Limit stage2_apply_range() batch size to largest block 2022-10-09 02:33:49 +01:00
stat.h
string.h Revert "arm64: Mitigate MTE issues with str{n}cmp()" 2022-03-07 21:57:02 +00:00
suspend.h
sync_bitops.h
syscall.h arch: remove unused function syscall_set_arguments() 2021-09-14 16:06:20 +02:00
syscall_wrapper.h arm64/syscall: Include asm/ptrace.h in syscall_wrapper header. 2022-11-09 09:52:25 +00:00
sysreg.h ARM: 2023-02-25 11:30:21 -08:00
system_misc.h arm64: die(): pass 'err' as long 2022-09-16 12:17:03 +01:00
thread_info.h arm64/sme: Implement SVCR context switching 2022-04-22 18:50:58 +01:00
timex.h
tlb.h arm64: tlb: fix the TTL value of tlb_get_level 2021-06-23 14:52:57 +01:00
tlbflush.h arm64: mm: Fix TLBI vs ASID rollover 2021-08-06 13:52:03 +01:00
topology.h arm64, topology: enable use of init_cpu_capacity_cppc() 2022-03-10 20:21:58 +01:00
trans_pgd.h arm64: trans_pgd: remove trans_pgd_map_page() 2021-10-01 13:31:01 +01:00
traps.h arm64: armv8_deprecated: rework deprected instruction handling 2022-11-15 13:46:19 +00:00
uaccess.h arm64: uaccess: simplify uaccess_mask_ptr() 2022-09-23 14:39:20 +01:00
unistd.h fs: stat: compat: Add __ARCH_WANT_COMPAT_STAT 2022-04-26 13:35:45 -07:00
unistd32.h mm/mempolicy: wire up syscall set_mempolicy_home_node 2022-01-15 16:30:30 +02:00
uprobes.h arm64/uprobes: change the uprobe_opcode_t typedef to fix the sparse warning 2023-01-05 15:26:09 +00:00
vdso.h arm64: alternative: patch alternatives in the vDSO 2022-09-09 12:27:25 +01:00
vectors.h arm64: fix clang warning about TRAMP_VALIAS 2022-03-18 13:48:28 +00:00
vermagic.h
virt.h arm64: Save state of HCR_EL2.E2H before switch to EL1 2022-07-01 15:22:51 +01:00
vmalloc.h kasan, vmalloc, arm64: mark vmalloc mappings as pgprot_tagged 2022-03-24 19:06:47 -07:00
vmap_stack.h kasan, arm64: reset pointer tags of vmapped stacks 2022-03-24 19:06:47 -07:00
word-at-a-time.h arm64: extable: add load_unaligned_zeropad() handler 2021-10-21 10:45:22 +01:00
xor.h lib/xor: make xor prototypes more friendly to compiler vectorization 2022-02-11 20:39:39 +11:00