diff options
author | Nick Bofferding <bofferdn@us.ibm.com> | 2019-03-30 21:29:38 -0500 |
---|---|---|
committer | William G. Hoffa <wghoffa@us.ibm.com> | 2019-04-01 16:59:46 -0500 |
commit | de2312a44b13b46a9dded3e60aeca6a13f8662de (patch) | |
tree | a4914dba3b9ec9a5a6ef5ab69c1baa62e9a91ecc /src/include | |
parent | f55c462e587c3762a322250fbdb41806ff7ecf9a (diff) | |
download | talos-hostboot-de2312a44b13b46a9dded3e60aeca6a13f8662de.tar.gz talos-hostboot-de2312a44b13b46a9dded3e60aeca6a13f8662de.zip |
Fix deadlock in ECC error shutdown path
There is a scenario wherein if a PNOR ECC UE occurs when attempting to service a
page fault, the kernel will deadlock when it attempts to kill the task that
triggered the fault. This is due to the kill routine being called while holding
the VMM spinlock and then collecting a backtrace, which also performs
a nested acquire of the same spinlock. This fix inhibits invoking the
backtrace if the kill routine holds the VMM spinlock.
Change-Id: I75bf1f248740a08fd485379d88e146096edf65a9
CQ: SW461429
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/75264
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com>
Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com>
Reviewed-by: Matthew Raybuck <matthew.raybuck@ibm.com>
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/kernel/vmmmgr.H | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/include/kernel/vmmmgr.H b/src/include/kernel/vmmmgr.H index 6f211a0eb..ec920ee37 100644 --- a/src/include/kernel/vmmmgr.H +++ b/src/include/kernel/vmmmgr.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2010,2018 */ +/* Contributors Listed Below - COPYRIGHT 2010,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -298,6 +298,7 @@ class VmmManager public: friend class Block; friend class StackSegment; + friend class MessageHandler; }; |