linux-xiaomi-chiron/arch/arm64/kernel
Mark Brown ea64baacbc arm64/signal: Flush FPSIMD register state when disabling streaming mode
When handling a signal delivered to a context with streaming mode enabled
we will disable streaming mode for the signal handler, when doing so we
should also flush the saved FPSIMD register state like exiting streaming
mode in the hardware would do so that if that state is reloaded we get the
same behaviour. Without this we will reload whatever the last FPSIMD state
that was saved for the task was.

Fixes: 40a8e87bb3 ("arm64/sme: Disable ZA and streaming mode when handling signals")
Signed-off-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20220817182324.638214-3-broonie@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2022-08-23 11:29:11 +01:00
..
pi arm64: adjust KASLR relocation after ARCH_RANDOM removal 2022-08-17 14:52:50 +01:00
probes arm64: Treat ESR_ELx as a 64-bit register 2022-04-29 19:26:27 +01:00
vdso arm64: vdso*: place got/plt sections in .rodata 2022-06-28 17:41:44 +01:00
vdso32 arm64: vdso32: Add DWARF_DEBUG 2022-07-01 12:07:43 +01:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
acpi.c arm64: mm: Convert to GENERIC_IOREMAP 2022-06-27 12:22:31 +01:00
acpi_numa.c arm64: numa: Don't check node against MAX_NUMNODES 2022-07-19 19:10:28 +01:00
acpi_parking_protocol.c arm64: use function_nocfi with __pa_symbol 2021-04-08 16:04:22 -07:00
alternative.c arm64/sysreg: Standardise naming for CTR_EL0 fields 2022-07-05 11:45:45 +01:00
armv8_deprecated.c arm64: fix oops in concurrently setting insn_emulation sysctls 2022-07-04 12:18:47 +01:00
asm-offsets.c KVM: arm64: Drop unused workaround_flags vcpu field 2021-12-08 14:54:07 +00:00
cacheinfo.c arm64: cacheinfo: Fix incorrect assignment of signed error value to unsigned fw_level 2022-08-23 11:10:24 +01:00
cpu-reset.S arm64: kexec: remove cpu-reset.h 2021-10-01 13:31:00 +01:00
cpu_errata.c arm64: errata: add detection for AMEVCNTR01 incrementing incorrectly 2022-08-23 11:06:48 +01:00
cpu_ops.c arm64: Introduce get_cpu_ops() helper function 2020-03-24 17:24:19 +00:00
cpufeature.c arm64: errata: add detection for AMEVCNTR01 incrementing incorrectly 2022-08-23 11:06:48 +01:00
cpuidle.c arm64: cpuidle: remove generic cpuidle support 2022-06-23 14:19:33 +01:00
cpuinfo.c arm64: Delay initialisation of cpuinfo_arm64::reg_{zcr,smcr} 2022-07-25 11:02:11 +01:00
crash_core.c arm64: crash_core: Export MODULES, VMALLOC, and VMEMMAP ranges 2022-03-07 21:25:47 +00:00
crash_dump.c vmcore: convert copy_oldmem_page() to take an iov_iter 2022-04-29 14:37:59 -07:00
debug-monitors.c arm64: Treat ESR_ELx as a 64-bit register 2022-04-29 19:26:27 +01:00
efi-entry.S arm64: Rename arm64-internal cache maintenance functions 2021-05-25 19:27:49 +01:00
efi-header.S arm64: head: tidy up the Image header definition 2020-11-17 16:14:20 +00:00
efi-rt-wrapper.S Merge branch 'for-next/scs' into for-next/core 2020-05-28 18:03:40 +01:00
efi.c arm64: efi: Export screen_info 2021-08-04 16:54:36 +00:00
elfcore.c elf: Fix the arm64 MTE ELF segment name and value 2022-04-28 11:37:06 +01:00
entry-common.c context_tracking: Take NMI eqs entrypoints over RCU 2022-07-05 13:32:59 -07:00
entry-fpsimd.S arm64/sme: Implement ZA context switching 2022-04-22 18:51:02 +01:00
entry-ftrace.S arm64: ftrace: remove redundant label 2022-06-15 16:14:47 +01:00
entry.S arm64: Fix comment typo 2022-08-23 10:53:34 +01:00
fpsimd.c arm64/fpsimd: Remove duplicate SYS_SVCR read 2022-06-29 10:29:30 +01:00
ftrace.c arm64: ftrace: consistently handle PLTs. 2022-06-15 16:14:47 +01:00
head.S arm64: fix KASAN_INLINE 2022-07-20 16:08:10 +01:00
hibernate-asm.S arm64: kexec: install a copy of the linear-map 2021-10-01 13:31:00 +01:00
hibernate.c arm64: kasan: Revert "arm64: mte: reset the page tag in page->flags" 2022-07-07 10:48:37 +01:00
hw_breakpoint.c arm64: Treat ESR_ELx as a 64-bit register 2022-04-29 19:26:27 +01:00
hyp-stub.S Merge branch 'for-next/boot' into for-next/core 2022-07-25 10:59:15 +01:00
idle.c Merge branch 'for-next/entry' into for-next/core 2021-06-24 14:01:55 +01:00
idreg-override.c Merge branch 'for-next/boot' into for-next/core 2022-07-25 10:59:15 +01:00
image-vars.h arm64: lds: use PROVIDE instead of conditional definitions 2022-06-29 10:21:23 +01:00
image.h arm64: get rid of TEXT_OFFSET 2020-09-07 15:00:52 +01:00
io.c
irq.c arm64: irq: allow FIQs to be handled 2021-03-24 20:19:30 +00:00
jump_label.c jump_label: make initial NOP patching the special case 2022-06-24 09:48:55 +02:00
kaslr.c random: handle archrandom with multiple longs 2022-07-25 13:26:14 +02:00
kexec_image.c arm64: kexec_file: use more system keyrings to verify kernel image signature 2022-07-15 12:21:16 -04:00
kgdb.c arm64: Treat ESR_ELx as a 64-bit register 2022-04-29 19:26:27 +01:00
kuser32.S arm64: compat: Move kuser32.S to .rodata section 2022-06-23 16:01:42 +01:00
machine_kexec.c arm64: kdump: Reimplement crashkernel=X 2022-05-07 19:54:33 +01:00
machine_kexec_file.c arm64: kdump: Reimplement crashkernel=X 2022-05-07 19:54:33 +01:00
Makefile Merge branch 'for-next/boot' into for-next/core 2022-07-25 10:59:15 +01:00
module-plts.c arm64: fix typos in comments 2022-04-04 10:32:50 +01:00
module.c kasan, arm64: don't tag executable vmalloc allocations 2022-03-24 19:06:48 -07:00
mte.c arm64: kasan: Revert "arm64: mte: reset the page tag in page->flags" 2022-07-07 10:48:37 +01:00
paravirt.c arm64: paravirt: Use RCU read locks to guard stolen_time 2022-05-17 14:23:37 +01:00
patching.c arm64: patch_text: Fixup last cpu should be master 2022-04-08 11:43:46 +01:00
pci.c arm64: PCI: Support root bridge preparation for Hyper-V 2021-08-23 10:59:26 +01:00
perf_callchain.c Peter Zijlstra says: 2022-01-12 16:26:58 -08:00
perf_event.c arm64: perf: Expose some Armv9 common events under sysfs 2022-03-08 11:40:44 +00:00
perf_regs.c perf/arch: Remove perf_sample_data::regs_user_copy 2020-11-09 18:12:34 +01:00
pointer_auth.c arm64: move preemption disablement to prctl handlers 2021-07-28 18:33:49 +01:00
process.c This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
proton-pack.c arm64: Add part number for Arm Cortex-A78AE 2022-04-08 11:46:46 +01:00
psci.c arm64: use function_nocfi with __pa_symbol 2021-04-08 16:04:22 -07:00
ptrace.c arm64/sme: Remove _EL0 from name of SVCR - FIXME sysreg.h 2022-05-16 19:50:20 +01:00
reloc_test_core.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
reloc_test_syms.S arm64: kernel: Convert to modern annotations for assembly functions 2020-05-04 12:46:03 +01:00
relocate_kernel.S arm64: kexec: load from kimage prior to clobbering 2022-05-17 14:25:35 +01:00
return_address.c arm64: Make return_address() use arch_stack_walk() 2021-12-10 14:06:04 +00:00
sdei.c arm64: kernel: add helper for booted at EL2 and not VHE 2021-10-01 13:30:59 +01:00
setup.c arm64: fix KASAN_INLINE 2022-07-20 16:08:10 +01:00
signal.c arm64/signal: Flush FPSIMD register state when disabling streaming mode 2022-08-23 11:29:11 +01:00
signal32.c signal: Deliver SIGTRAP on perf event asynchronously if blocked 2022-04-22 12:14:05 +02:00
sigreturn32.S arm64: compat: Move sigreturn32.S to .rodata section 2022-07-01 12:05:45 +01:00
sleep.S arm64: Rename the VHE switch to "finalise_el2" 2022-07-01 15:22:51 +01:00
smccc-call.S arm64: smccc: Save lr before calling __arm_smccc_sve_check() 2021-07-21 11:23:25 +01:00
smp.c profile: setup_profiling_timer() is moslty not implemented 2022-07-29 18:12:36 -07:00
smp_spin_table.c arm64: Rename arm64-internal cache maintenance functions 2021-05-25 19:27:49 +01:00
stacktrace.c KVM: arm64: Make unwind()/on_accessible_stack() per-unwinder functions 2022-07-27 18:18:03 +01:00
suspend.c arm64: mm: provide idmap pointer to cpu_replace_ttbr1() 2022-06-24 17:18:10 +01:00
sys.c
sys32.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 452 2019-06-19 17:09:08 +02:00
sys_compat.c arm64: compat: Do not treat syscall number as ESR_ELx for a bad syscall 2022-04-29 19:26:27 +01:00
syscall.c arm64/sme: Remove _EL0 from name of SVCR - FIXME sysreg.h 2022-05-16 19:50:20 +01:00
time.c arm64: Make profile_pc() use arch_stack_walk() 2021-12-10 14:06:04 +00:00
topology.c arm64: errata: add detection for AMEVCNTR01 incrementing incorrectly 2022-08-23 11:06:48 +01:00
trace-events-emulation.h
traps.c arm64/sysreg: Standardise naming for CTR_EL0 fields 2022-07-05 11:45:45 +01:00
vdso-wrap.S arm64: do not descend to vdso directories twice 2021-01-20 12:18:46 +00:00
vdso.c Merge branches 'for-next/misc', 'for-next/kselftest', 'for-next/xntable', 'for-next/vdso', 'for-next/fiq', 'for-next/epan', 'for-next/kasan-vmalloc', 'for-next/fgt-boot-init', 'for-next/vhe-only' and 'for-next/neon-softirqs-disabled', remote-tracking branch 'arm64/for-next/perf' into for-next/core 2021-04-15 14:00:38 +01:00
vdso32-wrap.S arm64: do not descend to vdso directories twice 2021-01-20 12:18:46 +00:00
vmlinux.lds.S Merge branch 'for-next/boot' into for-next/core 2022-07-25 10:59:15 +01:00