[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130616122030.GA12290@nazgul.tnic>
Date: Sun, 16 Jun 2013 14:20:30 +0200
From: Borislav Petkov <bp@...en8.de>
To: "Naveen N. Rao" <naveen.n.rao@...ux.vnet.ibm.com>
Cc: tony.luck@...el.com, ananth@...ibm.com, masbock@...ux.vnet.ibm.com,
lcm@...ux.vnet.ibm.com, linux-kernel@...r.kernel.org,
linux-acpi@...r.kernel.org, ying.huang@...el.com
Subject: Re: [PATCH] Re: [Patch] MCE, APEI: Don't enable CMCI when Firmware
First mode is set in
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.
Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists