On Sat, Aug 26, 2023 at 11:43 PM Greg KH gregkh@linuxfoundation.org wrote:
On Sat, Aug 26, 2023 at 11:35:31PM +0800, Huacai Chen wrote:
On Sat, Aug 26, 2023 at 11:22 PM Greg KH gregkh@linuxfoundation.org wrote:
On Sat, Aug 26, 2023 at 10:23:41PM +0800, Huacai Chen wrote:
This is a port of commit 379eb01c21795edb4c ("riscv: Ensure the value of FP registers in the core dump file is up to date").
The values of FP/SIMD registers in the core dump file come from the thread.fpu. However, kernel saves the FP/SIMD registers only before scheduling out the process. If no process switch happens during the exception handling, kernel will not have a chance to save the latest values of FP/SIMD registers. So it may cause their values in the core dump file incorrect. To solve this problem, force fpr_get()/simd_get() to save the FP/SIMD registers into the thread.fpu if the target task equals the current task.
Cc: stable@vger.kernel.org Signed-off-by: Huacai Chen chenhuacai@loongson.cn
V2: Rename get_fpu_regs() to save_fpu_regs().
What stable tree(s) is this for?
For 5.19+, but before 6.4 we should remove the call site in simd_get() because that function doesn't exist.
But this commit is already in the following released kernels: 5.10.62 5.13.14 5.14
Do you means commit 379eb01c21795edb4c ("riscv: Ensure the value of FP registers in the core dump file is up to date")? That is a reference commit, not a Fixes tag. This patch is for LoongArch and LoongArch only exists after 5.19.
so how can it be backported?
totally confused,
greg k-h