Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ACPI / APEI: Only use queued estatus entry during in_nmi_queue_one_en…
…try() Each struct ghes has an worst-case sized buffer for storing the estatus. If an error is being processed by ghes_proc() in process context this buffer will be in use. If the error source then triggers an NMI-like notification, the same buffer will be used by in_nmi_queue_one_entry() to stage the estatus data, before __process_error() copys it into a queued estatus entry. Merge __process_error()s work into in_nmi_queue_one_entry() so that the queued estatus entry is used from the beginning. Use the new ghes_peek_estatus() to know how much memory to allocate from the ghes_estatus_pool before reading the records. Reported-by: Borislav Petkov <[email protected]> Signed-off-by: James Morse <[email protected]> Reviewed-by: Borislav Petkov <[email protected]> Change since v6: * Added a comment explaining the 'ack-error, then goto no_work'. * Added missing esatus-clearing, which is necessary after reading the GAS, Signed-off-by: Rafael J. Wysocki <[email protected]>
- Loading branch information