OpenCloudOS-Kernel/arch/xtensa/kernel
Max Filippov 38a35a78c5 xtensa: fix coprocessor part of ptrace_{get,set}xregs
Layout of coprocessor registers in the elf_xtregs_t and
xtregs_coprocessor_t may be different due to alignment. Thus it is not
always possible to copy data between the xtregs_coprocessor_t structure
and the elf_xtregs_t and get correct values for all registers.
Use a table of offsets and sizes of individual coprocessor register
groups to do coprocessor context copying in the ptrace_getxregs and
ptrace_setxregs.
This fixes incorrect coprocessor register values reading from the user
process by the native gdb on an xtensa core with multiple coprocessors
and registers with high alignment requirements.

Cc: stable@vger.kernel.org
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2018-11-26 18:37:51 -08:00
..
.gitignore xtensa: tell git to ignore generated files 2013-06-05 10:14:19 -07:00
Makefile kbuild/arch/xtensa: Define LINKER_SCRIPT for the linker script 2018-10-04 10:05:38 +02:00
align.S xtensa: clean up word alignment macros in assembly code 2017-12-10 14:48:53 -08:00
asm-offsets.c xtensa: fix coprocessor context offset definitions 2018-11-26 18:37:49 -08:00
coprocessor.S xtensa: use call instead of callx in assembly code 2017-12-10 14:48:52 -08:00
entry.S Kbuild: rename CC_STACKPROTECTOR[_STRONG] config variables 2018-06-14 12:21:18 +09:00
head.S xtensa: fix boot parameters address translation 2018-11-14 00:15:32 -08:00
hw_breakpoint.c perf/arch/xtensa: Implement hw_breakpoint_arch_parse() 2018-06-26 09:07:58 +02:00
irq.c xtensa: drop variant IRQ support 2018-08-20 12:28:05 -07:00
mcount.S xtensa: add static function tracer support 2013-07-08 01:18:57 -07:00
module.c xtensa: clean up custom-controlled debug output 2017-12-16 22:37:08 -08:00
mxhead.S xtensa: drop unused sections and remapped reset handlers 2015-11-03 17:19:39 +03:00
pci-dma.c Xtensa improvements for v4.19: 2018-08-22 14:04:41 -07:00
pci.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
perf_event.c cpu/hotplug: Cleanup state names 2016-12-25 10:47:44 +01:00
platform.c xtensa: cleanup ccount frequency tracking 2013-07-08 01:11:37 -07:00
process.c xtensa: enable coprocessors that are being flushed 2018-11-26 18:37:47 -08:00
ptrace.c xtensa: fix coprocessor part of ptrace_{get,set}xregs 2018-11-26 18:37:51 -08:00
s32c1i_selftest.c xtensa: move S32C1I self-test to a separate file 2016-11-16 15:08:28 -08:00
setup.c xtensa: make bootparam parsing optional 2018-08-20 12:28:05 -07:00
signal.c xtensa: clean up custom-controlled debug output 2017-12-16 22:37:08 -08:00
smp.c sched/headers: Move task->mm handling methods to <linux/sched/mm.h> 2017-03-03 01:43:28 +01:00
stacktrace.c xtensa: clean up access to spilled registers locations 2017-05-01 10:34:43 -07:00
syscall.c mm: add ksys_fadvise64_64() helper; remove in-kernel call to sys_fadvise64_64() 2018-04-02 20:16:10 +02:00
time.c clocksource/drivers: Rename clocksource_probe to timer_probe 2017-06-14 11:59:16 +02:00
traps.c signal/xtensa: Use force_sig_fault where appropriate 2018-04-25 10:44:12 -05:00
vectors.S xtensa: use call instead of callx in assembly code 2017-12-10 14:48:52 -08:00
vmlinux.lds.S Xtensa fixes and cleanups for v4.20: 2018-11-01 14:32:43 -07:00
xtensa_ksyms.c xtensa: use generic strncpy_from_user with KASAN 2017-12-17 15:34:57 -08:00