Re: [PATCH] Re: [Patch] MCE, APEI: Don't enable CMCI when FirmwareFirst mode is set in

From: Naveen N. Rao
Date: Mon Jun 17 2013 - 03:01:22 EST


On 06/16/2013 05:50 PM, Borislav Petkov wrote:
On Fri, Jun 14, 2013 at 11:47:21PM +0530, Naveen N. Rao wrote:
+static int __init hest_parse_cmc(struct acpi_hest_header *hest_hdr, void *data)
+{
+ int i;
+ struct acpi_hest_ia_corrected *cmc;
+ struct acpi_hest_ia_error_bank *mc_bank;
+
+ if (hest_hdr->type != ACPI_HEST_TYPE_IA32_CORRECTED_CHECK)
+ return 0;
+
+ if (!((struct acpi_hest_generic *)hest_hdr)->enabled)
+ return 0;
+
+ cmc = (struct acpi_hest_ia_corrected *)hest_hdr;
+ if (!(cmc->flags & ACPI_HEST_FIRMWARE_FIRST))
+ return 0;
+
+ /*
+ * We expect HEST to provide a list of MC banks that
+ * report errors through firmware first mode.
+ */
+ if (cmc->num_hardware_banks <= 0)
+ return 0;
+
+ pr_info("HEST: Enabling Firmware First mode for corrected errors\n");
+
+ mc_bank = (struct acpi_hest_ia_error_bank *)(cmc + 1);
+ for (i = 0; i < cmc->num_hardware_banks; i++, mc_bank++)
+ mce_disable_bank(mc_bank->bank_number);

One more thing: we never trust the BIOS so mce_disable_bank() should
sanity-check this mc_bank->bank_number against the number of the
actually available banks on the system before disabling anything.

Agreed. Will add the check.


Thanks.


Thanks,
Naveen

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/