[...] On 10/15/2024 01:53, Zhuo, Qiuxu wrote: >> From: Avadhut Naik <avadhut.n...@amd.com> >> [...] >> [...] >> static __always_inline int >> -__mc_scan_banks(struct mce *m, struct pt_regs *regs, struct mce *final, >> +__mc_scan_banks(struct mce_hw_err *err, struct pt_regs *regs, struct mce >> *final, > > The 'final' parameter should also be a pointer to this_cpu_ptr(&hw_errs_seen). > So, it's the final value with an entire 'mce_hw_err' structure stored to > ' hw_errs_seen ', not just a 'mce' structure got stored in 'hw_errs_seen'. > > So, > __mc_scan_banks(struct mce_hw_err *err, struct pt_regs *regs, struct > mce_hw_err *final, ... >
Thanks for pointing this out. This may require a few other changes too. Will address them in the next revision. >> unsigned long *toclear, unsigned long *valid_banks, int >> no_way_out, >> int *worst) >> [...] -- Thanks, Avadhut Naik