diff options
author | James Morse <james.morse@arm.com> | 2019-01-29 19:48:51 +0100 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2019-02-07 23:10:45 +0100 |
commit | 3b880cbe4df5dd78a2b2279dbe16db9d193412ca (patch) | |
tree | 936e9ff81c2627217f03733ec9f7c8ee93b6568e /tools/cgroup | |
parent | arm64: KVM/mm: Move SEA handling behind a single 'claim' interface (diff) | |
download | linux-3b880cbe4df5dd78a2b2279dbe16db9d193412ca.tar.xz linux-3b880cbe4df5dd78a2b2279dbe16db9d193412ca.zip |
ACPI / APEI: Move locking to the notification helper
ghes_copy_tofrom_phys() takes different locks depending on in_nmi().
This doesn't work if there are multiple NMI-like notifications, that
can interrupt each other.
Now that NOTIFY_SEA is always called in the same context, move the
lock-taking to the notification helper. The helper will always know
which lock to take. This avoids ghes_copy_tofrom_phys() taking a guess
based on in_nmi().
This splits NOTIFY_NMI and NOTIFY_SEA to use different locks. All
the other notifications use ghes_proc(), and are called in process
or IRQ context. Move the spin_lock_irqsave() around their ghes_proc()
calls.
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>
Diffstat (limited to 'tools/cgroup')
0 files changed, 0 insertions, 0 deletions