mirror-linux/arch/arm/kernel
Ard Biesheuvel 8536a5ef88 ARM: 9169/1: entry: fix Thumb2 bug in iWMMXt exception handling
The Thumb2 version of the FP exception handling entry code treats the
register holding the CP number (R8) differently, resulting in the iWMMXT
CP number check to be incorrect.

Fix this by unifying the ARM and Thumb2 code paths, and switch the
order of the additions of the TI_USED_CP offset and the shifted CP
index.

Cc: <stable@vger.kernel.org>
Fixes: b86040a59f ("Thumb-2: Implementation of the unified start-up and exceptions code")
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2021-12-17 12:02:17 +00:00
..
.gitignore
Makefile ARM updates for 5.11: 2020-12-22 13:34:27 -08:00
arch_timer.c
armksyms.c
asm-offsets.c ARM: smp: Enable THREAD_INFO_IN_TASK 2021-09-27 16:54:02 +02:00
atags.h ARM: 9011/1: centralize phys-to-virt conversion of DT/ATAGS address 2020-10-27 12:10:59 +00:00
atags_compat.c
atags_parse.c ARM: 9011/1: centralize phys-to-virt conversion of DT/ATAGS address 2020-10-27 12:10:59 +00:00
atags_proc.c
bios32.c ARM/PCI: Remove unused fields from struct hw_pci 2020-09-18 22:39:09 +01:00
bugs.c
cpuidle.c treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
crash_dump.c
debug.S ARM: 9005/1: debug: Select flow control for all debug UARTs 2020-09-15 14:35:28 +01:00
devtree.c ARM: Use of_get_cpu_hwid() 2021-10-20 13:36:30 -05:00
dma-isa.c
dma.c
early_printk.c
efi.c
elf.c
entry-armv.S ARM: 9169/1: entry: fix Thumb2 bug in iWMMXt exception handling 2021-12-17 12:02:17 +00:00
entry-common.S ARM: smp: Store current pointer in TPIDRURO register if available 2021-09-27 16:54:02 +02:00
entry-ftrace.S
entry-header.S ARM: smp: Free up the TLS register while running in the kernel 2021-09-27 16:54:02 +02:00
entry-v7m.S printk: Userspace format indexing support 2021-07-19 11:57:48 +02:00
fiq.c
fiqasm.S
ftrace.c ftrace: Cleanup ftrace_dyn_arch_init() 2021-10-08 19:41:39 -04:00
head-common.S ARM: smp: Store current pointer in TPIDRURO register if available 2021-09-27 16:54:02 +02:00
head-inflate-data.c
head-nommu.S ARM: 9160/1: NOMMU: Reload __secondary_data after PROCINFO_INITFUNC 2021-12-17 12:02:16 +00:00
head.S Merge branches 'devel-stable' and 'misc' into for-linus 2021-11-02 09:04:22 +00:00
hibernate.c
hw_breakpoint.c ARM: 9064/1: hw_breakpoint: Do not directly check the event's overflow_handler hook 2021-03-25 10:27:41 +00:00
hyp-stub.S Merge branch 'devel-stable' into for-next 2020-12-21 11:19:26 +00:00
insn.c ARM: 9078/1: Add warn suppress parameter to arm_gen_branch_link() 2021-06-07 12:56:20 +01:00
io.c
irq.c irq: arm: perform irqentry in entry code 2021-10-25 10:05:31 +01:00
isa.c
iwmmxt.S ARM: 9029/1: Make iwmmxt.S support Clang's integrated assembler 2020-12-08 10:14:59 +00:00
iwmmxt.h ARM: 9029/1: Make iwmmxt.S support Clang's integrated assembler 2020-12-08 10:14:59 +00:00
jump_label.c
kgdb.c
machine_kexec.c ARM: 9060/1: kexec: Remove unused kexec_reinit callback 2021-03-09 10:25:35 +00:00
module-plts.c ARM: 9098/1: ftrace: MODULE_PLT: Fix build problem without DYNAMIC_FTRACE 2021-07-05 11:52:26 +01:00
module.c ARM: module: add support for place relative relocations 2020-10-28 16:59:43 +01:00
opcodes.c
paravirt.c x86/paravirt: Switch time pvops functions to use static_call() 2021-03-11 16:17:52 +01:00
patch.c
perf_callchain.c
perf_event_v6.c
perf_event_v7.c arm_pmu: Fix write counter incorrect in ARMv7 big-endian mode 2021-06-01 14:17:01 +01:00
perf_event_xscale.c
perf_regs.c perf/arch: Remove perf_sample_data::regs_user_copy 2020-11-09 18:12:34 +01:00
phys2virt.S ARM: p2v: reduce p2v alignment requirement to 2 MiB 2020-10-28 16:59:43 +01:00
pj4-cp0.c
process.c ARM development for 5.16: 2021-11-02 11:33:15 -07:00
psci_smp.c
ptrace.c ARM development updates for 5.15: 2021-09-09 13:25:49 -07:00
reboot.c ARM: 9096/1: Remove arm_pm_restart() 2021-06-13 18:16:48 +01:00
reboot.h
relocate_kernel.S ARM: kexec: fix oops after TLB are invalidated 2021-02-05 10:23:29 +00:00
return_address.c ARM: Recover kretprobe modified return address in stacktrace 2021-10-22 12:16:53 -04:00
setup.c memblock: make memblock_find_in_range method private 2021-09-03 09:58:17 -07:00
signal.c entry: rseq: Call rseq_handle_notify_resume() in tracehook_notify_resume() 2021-09-22 10:24:01 -04:00
signal.h
sigreturn_codes.S
sleep.S ARM: sleep.S: use PC-relative insn sequence for sleep_save_sp/mpidr_hash 2020-10-28 17:05:40 +01:00
smccc-call.S ARM: 9075/1: kernel: Fix interrupted SMC calls 2021-04-18 19:15:14 +01:00
smp.c ARM: smp: Enable THREAD_INFO_IN_TASK 2021-09-27 16:54:02 +02:00
smp_scu.c
smp_tlb.c
smp_twd.c
stacktrace.c ARM: Recover kretprobe modified return address in stacktrace 2021-10-22 12:16:53 -04:00
suspend.c ARM: 9066/1: ftrace: pause/unpause function graph tracer in cpu_suspend() 2021-03-25 10:27:42 +00:00
swp_emulate.c
sys_arm.c
sys_oabi-compat.c ARM: 9110/1: oabi-compat: fix oabi epoll sparse warning 2021-08-20 11:39:27 +01:00
tcm.c
thumbee.c
time.c ARM: rpc: use legacy_timer_tick 2020-10-30 21:57:05 +01:00
topology.c ARM, sched/topology: Revert back to default scheduler topology 2020-08-19 10:49:47 +02:00
traps.c ARM: 9125/1: fix incorrect use of get_kernel_nofault() 2021-10-19 10:37:34 +01:00
unwind.c ARM: 9026/1: unwind: remove old check for GCC <= 4.2 2020-12-08 10:13:59 +00:00
v7m.c
vdso.c mm: forbid splitting special mappings 2020-12-15 12:13:41 -08:00
vmlinux-xip.lds.S Merge branches 'devel-stable' and 'misc' into for-linus 2021-11-02 09:04:22 +00:00
vmlinux.lds.S ARM: 9140/1: allow compile-testing without machine record 2021-10-25 13:12:34 +01:00
xscale-cp0.c