On 10/17/2024 01:02, Zhuo, Qiuxu wrote:
quoted
From: Avadhut Naik <avadhut.naik@amd.com>
[...]
--- a/arch/x86/kernel/cpu/mce/core.c
+++ b/arch/x86/kernel/cpu/mce/core.c
[...]
@@ -1506,13 +1528,14 @@ noinstr void do_machine_check(struct pt_regs
*regs)
this_cpu_inc(mce_exception_count);
- mce_gather_info(&m, regs);
- m.tsc = rdtsc();
+ mce_gather_info(&err, regs);
+ m = &err.m;
+ m->tsc = rdtsc();
- final = this_cpu_ptr(&mces_seen);
- *final = m;
+ final = this_cpu_ptr(&hw_errs_seen);
+ final = &err;
It's not about getting the 'final' pointer to point to 'err', instead initialize the data it points to with 'err'.
So, it should be:
s/final = &err/*final = err/
My bad here. Will take care of it.
Thanks for pointing it out!
[...]
-Qiuxu
--
Thanks,
Avadhut Naik