summaryrefslogtreecommitdiff
path: root/drivers/scsi
diff options
context:
space:
mode:
authorJames Morse <james.morse@arm.com>2019-01-29 18:48:39 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-12-05 15:38:03 +0100
commit74fac32b6474ec92898dafcf270fc0d113026e07 (patch)
tree25ba0fc54cabc4641c60ac9c333627a13887c795 /drivers/scsi
parent3ad61d642b69e42554a14eba7f18cbb20f1d6f61 (diff)
ACPI / APEI: Switch estatus pool to use vmalloc memory
[ Upstream commit 0ac234be1a9497498e57d958f4251f5257b116b4 ] The ghes code is careful to parse and round firmware's advertised memory requirements for CPER records, up to a maximum of 64K. However when ghes_estatus_pool_expand() does its work, it splits the requested size into PAGE_SIZE granules. This means if firmware generates 5K of CPER records, and correctly describes this in the table, __process_error() will silently fail as it is unable to allocate more than PAGE_SIZE. Switch the estatus pool to vmalloc() memory. On x86 vmalloc() memory may fault and be fixed up by vmalloc_fault(). To prevent this call vmalloc_sync_all() before an NMI handler could discover the memory. Signed-off-by: James Morse <james.morse@arm.com> Reviewed-by: Borislav Petkov <bp@suse.de> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/scsi')
0 files changed, 0 insertions, 0 deletions