aboutsummaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorpingfan liu <qemulist@gmail.com>2013-11-15 16:35:00 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-01-08 09:42:10 -0800
commit7898047084bed6716bbc2c08b969ddf364ca36fd (patch)
treef943653c9ab0acdb04b67ece6ae565cf5e35f339 /fs
parentbb4e90afb0b16996ff921762ab4212db0f40535f (diff)
powerpc: kvm: fix rare but potential deadlock scene
commit 91648ec09c1ef69c4d840ab6dab391bfb452d554 upstream. Since kvmppc_hv_find_lock_hpte() is called from both virtmode and realmode, so it can trigger the deadlock. Suppose the following scene: Two physical cpuM, cpuN, two VM instances A, B, each VM has a group of vcpus. If on cpuM, vcpu_A_1 holds bitlock X (HPTE_V_HVLOCK), then is switched out, and on cpuN, vcpu_A_2 try to lock X in realmode, then cpuN will be caught in realmode for a long time. What makes things even worse if the following happens, On cpuM, bitlockX is hold, on cpuN, Y is hold. vcpu_B_2 try to lock Y on cpuM in realmode vcpu_A_2 try to lock X on cpuN in realmode Oops! deadlock happens Signed-off-by: Liu Ping Fan <pingfank@linux.vnet.ibm.com> Reviewed-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs')
0 files changed, 0 insertions, 0 deletions