OpenCloudOS-Kernel/arch/riscv/kernel
Vincent Chen 379eb01c21
riscv: Ensure the value of FP registers in the core dump file is up to date
The value of FP registers in the core dump file comes from the
thread.fstate. However, kernel saves the FP registers to the thread.fstate
only before scheduling out the process. If no process switch happens
during the exception handling process, kernel will not have a chance to
save the latest value of FP registers to thread.fstate. It will cause the
value of FP registers in the core dump file may be incorrect. To solve this
problem, this patch force lets kernel save the FP register into the
thread.fstate if the target task_struct equals the current.

Signed-off-by: Vincent Chen <vincent.chen@sifive.com>
Reviewed-by: Jisheng Zhang <jszhang@kernel.org>
Fixes: b8c8a9590e ("RISC-V: Add FP register ptrace support for gdb.")
Cc: stable@vger.kernel.org
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
2021-08-24 20:54:10 -07:00
..
probes RISC-V Patches for the 5.14 Merge Window, Part 1 2021-07-09 10:36:29 -07:00
vdso riscv: vdso: fix and clean-up Makefile 2021-04-26 08:25:19 -07:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
Makefile riscv: kexec: do not add '-mno-relax' flag if compiler doesn't support it 2021-08-12 07:16:52 -07:00
asm-offsets.c riscv: Introduce structure that group all variables regarding kernel mapping 2021-07-05 18:04:00 -07:00
cacheinfo.c riscv: cacheinfo: Fix using smp_processor_id() in preemptible 2021-01-12 20:25:32 -08:00
cpu-hotplug.c RISC-V: Support cpu hotplug 2020-03-31 11:28:30 -07:00
cpu.c RISC-V: Rename and move plic_find_hart_id() to arch directory 2020-06-09 19:11:20 -07:00
cpu_ops.c treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
cpu_ops_sbi.c RISC-V: Support cpu hotplug 2020-03-31 11:28:30 -07:00
cpu_ops_spinwait.c RISC-V: Add cpu_ops and modify default booting method 2020-03-31 11:25:56 -07:00
cpufeature.c riscv: Add __init section marker to some functions again 2021-05-29 13:39:27 -07:00
crash_dump.c RISC-V: Add crash kernel support 2021-04-26 08:25:24 -07:00
crash_save_regs.S RISC-V: Add kdump support 2021-04-26 08:25:23 -07:00
efi-header.S RISC-V: Add PE/COFF header for EFI stub 2020-10-02 14:31:16 -07:00
efi.c RISC-V: Add EFI runtime services 2020-10-02 14:31:28 -07:00
entry.S riscv: add VMAP_STACK overflow detection 2021-07-06 12:11:38 -07:00
fpu.S riscv: abstract out CSR names for supervisor vs machine mode 2019-11-05 09:20:42 -08:00
ftrace.c riscv: Using PATCHABLE_FUNCTION_ENTRY instead of MCOUNT 2021-01-14 15:09:05 -08:00
head.S riscv: Introduce structure that group all variables regarding kernel mapping 2021-07-05 18:04:00 -07:00
head.h RISC-V: enable XIP 2021-04-26 08:31:28 -07:00
image-vars.h arch/riscv:fix typo in a comment in arch/riscv/kernel/image-vars.h 2021-02-18 23:18:00 -08:00
irq.c RISC-V: Remove do_IRQ() function 2020-06-09 19:11:24 -07:00
jump_label.c riscv: Add jump-label implementation 2020-07-30 11:37:43 -07:00
kexec_relocate.S riscv: Introduce structure that group all variables regarding kernel mapping 2021-07-05 18:04:00 -07:00
kgdb.c riscv: Fix "no previous prototype" compile warning in kgdb.c file 2020-07-09 20:09:30 -07:00
machine_kexec.c RISC-V Patches for the 5.14 Merge Window, Part 1 2021-07-09 10:36:29 -07:00
mcount-dyn.S riscv: Using PATCHABLE_FUNCTION_ENTRY instead of MCOUNT 2021-01-14 15:09:05 -08:00
mcount.S riscv: Workaround mcount name prior to clang-13 2021-04-26 08:25:01 -07:00
module-sections.c riscv: add missing header file includes 2019-10-28 00:46:01 -07:00
module.c riscv: module: Create module allocations without exec permissions 2021-04-26 08:25:15 -07:00
patch.c riscv: Fixup compile error BUILD_BUG_ON failed 2021-01-14 15:09:01 -08:00
perf_callchain.c riscv: Make stack walk callback consistent with generic code 2020-11-20 18:53:38 -08:00
perf_event.c riscv: perf_event: Make some funciton static 2020-05-11 13:48:19 -07:00
perf_regs.c perf/arch: Remove perf_sample_data::regs_user_copy 2020-11-09 18:12:34 +01:00
process.c riscv: Turn has_fpu into a static key if FPU=y 2021-05-25 22:56:57 -07:00
ptrace.c riscv: Ensure the value of FP registers in the core dump file is up to date 2021-08-24 20:54:10 -07:00
reset.c riscv: cleanup the default power off implementation 2019-11-13 13:22:52 -08:00
riscv_ksyms.c riscv: provide memmove implementation 2020-12-10 17:27:54 -08:00
sbi.c RISC-V Patches for the 5.13 Merge Window, Part 1 2021-05-06 09:24:18 -07:00
setup.c riscv: Fix a number of free'd resources in init_resources() 2021-08-20 10:15:51 -07:00
signal.c riscv: Turn has_fpu into a static key if FPU=y 2021-05-25 22:56:57 -07:00
smp.c RISC-V: Fix error code returned by riscv_hartid_to_cpuid() 2021-05-01 08:53:19 -07:00
smpboot.c sched/core: Initialize the idle task with preemption disabled 2021-05-12 13:01:45 +02:00
soc.c riscv: Fix builtin DTB handling 2021-01-07 19:00:50 -08:00
stacktrace.c riscv: stacktrace: Fix NULL pointer dereference 2021-07-24 12:58:51 -07:00
sys_riscv.c RISC-V: Don't allow write+exec only page mapping request in mmap 2020-06-18 17:28:53 -07:00
syscall_table.c riscv: Constify sys_call_table 2021-04-26 08:25:09 -07:00
time.c RISC-V Patches for the 5.13 Merge Window, Part 1 2021-05-06 09:24:18 -07:00
traps.c RISC-V Patches for the 5.14 Merge Window, Part 1 2021-07-09 10:36:29 -07:00
traps_misaligned.c riscv: Unaligned load/store handling for M_MODE 2020-04-03 10:45:33 -07:00
vdso.c riscv: Mark some global variables __ro_after_init 2021-04-26 08:25:08 -07:00
vmlinux-xip.lds.S RISC-V Patches for the 5.14 Merge Window, Part 1 2021-07-09 10:36:29 -07:00
vmlinux.lds.S riscv: add VMAP_STACK overflow detection 2021-07-06 12:11:38 -07:00