OSDN Git Service

ACPI: APEI: Fix possible out-of-bounds access to BERT region
authorRoss Lagerwall <ross.lagerwall@citrix.com>
Mon, 28 Jan 2019 10:04:23 +0000 (10:04 +0000)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 20 Feb 2019 09:34:03 +0000 (10:34 +0100)
commit1c0d9b1c31d19d3aa90296a184e4624545d7d1ee
tree2db35c1e8f9e6da2701b3efc1cc26dbb9aefe369
parenta2ed1ee91f4f2c59b71db12c16bff659dee9ee0b
ACPI: APEI: Fix possible out-of-bounds access to BERT region

Check that the length recorded in the generic error status block is
within the region before checking the contents of the region itself.

Otherwise it may result in an out-of-bounds access if the system
firmware has generated a status block with an invalid length (larger
than the mapped region). Also move the block_status check so that it
only happens after the block has been verified to be within the mapped
region.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Acked-by: Borislav Petkov <bp@suse.de>
Tested-by: Tyler Baicar <baicar.tyler@gmail.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/apei/bert.c