PPC: Fix race in mtmsr paravirt implementation
authorBharat Bhushan <r65777@freescale.com>
Thu, 13 Oct 2011 09:47:08 +0000 (15:17 +0530)
committerAvi Kivity <avi@redhat.com>
Mon, 5 Mar 2012 12:52:24 +0000 (14:52 +0200)
commitf9208427f72e6cb52c71767af3bf8c14c43c27ac
tree051bd94371fa20d83848237a9a89ff6670a4b466
parent95325e6b190bb4ec3383aa1241d10675057bff45
PPC: Fix race in mtmsr paravirt implementation

The current implementation of mtmsr and mtmsrd are racy in that it does:

  * check (int_pending == 0)
  ---> host sets int_pending = 1 <---
  * write shared page
  * done

while instead we should check for int_pending after the shared page is written.

Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/powerpc/kernel/kvm_emul.S