• Vishal Verma's avatar
    acpi/nfit, x86/mce: Validate a MCE's address before using it · e8a308e5
    Vishal Verma authored
    The NFIT machine check handler uses the physical address from the mce
    structure, and compares it against information in the ACPI NFIT table
    to determine whether that location lies on an NVDIMM. The mce->addr
    field however may not always be valid, and this is indicated by the
    MCI_STATUS_ADDRV bit in the status field.
    
    Export mce_usable_address() which already performs validation for the
    address, and use it in the NFIT handler.
    
    Fixes: 6839a6d9 ("nfit: do an ARS scrub on hitting a latent media error")
    Reported-by: default avatarRobert Elliott <elliott@hpe.com>
    Signed-off-by: default avatarVishal Verma <vishal.l.verma@intel.com>
    Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
    CC: Arnd Bergmann <arnd@arndb.de>
    Cc: Dan Williams <dan.j.williams@intel.com>
    CC: Dave Jiang <dave.jiang@intel.com>
    CC: elliott@hpe.com
    CC: "H. Peter Anvin" <hpa@zytor.com>
    CC: Ingo Molnar <mingo@redhat.com>
    CC: Len Brown <lenb@kernel.org>
    CC: linux-acpi@vger.kernel.org
    CC: linux-edac <linux-edac@vger.kernel.org>
    CC: linux-nvdimm@lists.01.org
    CC: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
    CC: "Rafael J. Wysocki" <rjw@rjwysocki.net>
    CC: Ross Zwisler <zwisler@kernel.org>
    CC: stable <stable@vger.kernel.org>
    CC: Thomas Gleixner <tglx@linutronix.de>
    CC: Tony Luck <tony.luck@intel.com>
    CC: x86-ml <x86@kernel.org>
    CC: Yazen Ghannam <yazen.ghannam@amd.com>
    Link: http://lkml.kernel.org/r/20181026003729.8420-2-vishal.l.verma@intel.com
    e8a308e5
mce.c 56.9 KB