Re: [PATCH v7] x86/mce: retrieve poison range from hardware

From: Jane Chu
Date: Thu Aug 25 2022 - 12:30:34 EST


On 8/23/2022 9:51 AM, Borislav Petkov wrote:
> On Tue, Aug 02, 2022 at 01:50:53PM -0600, Jane Chu wrote:
>> With Commit 7917f9cdb503 ("acpi/nfit: rely on mce->misc to determine
>> poison granularity") that changed nfit_handle_mce() callback to report
>> badrange according to 1ULL << MCI_MISC_ADDR_LSB(mce->misc), it's been
>> discovered that the mce->misc LSB field is 0x1000 bytes, hence injecting
>> 2 back-to-back poisons and the driver ends up logging 8 badblocks,
>> because 0x1000 bytes is 8 512-byte.
>
> What I'm missing from this text here is, what *is* the mce->misc LSB
> field in human speak? What does that field denote?
>
> What effect does that field have on error injection
Tony has replied.

>
> And so on.
>
>> Dan Williams noticed that apei_mce_report_mem_error() hardcode
>> the LSB field to PAGE_SHIFT instead of consulting the input
>> struct cper_sec_mem_err record. So change to rely on hardware whenever
>> support is available.
>
> Rely on hardware? You're changing this to rely on what the firmware
> reports.
>
> That mem_err thing comes from a BIOS table AFAICT.
>

Would fix the comment to indicate "relying on firmware" help?
Is there other concern?

thanks!
-jane

> ...
>
> Thx.
>