KVM: fix the race while wakeup all pv guest
authorXiao Guangrong <xiaoguangrong@cn.fujitsu.com>
Mon, 1 Nov 2010 09:03:44 +0000 (17:03 +0800)
committerAvi Kivity <avi@redhat.com>
Wed, 12 Jan 2011 09:29:03 +0000 (11:29 +0200)
commit64f638c7c44fa87e65f51eaf0f8302b9cba2d696
tree8aff59c0397f9231f5889d21b682a7a76e7dc66d
parent15096ffceabb9693306982127348890886384aaa
KVM: fix the race while wakeup all pv guest

In kvm_async_pf_wakeup_all(), we add a dummy apf to vcpu->async_pf.done
without holding vcpu->async_pf.lock, it will break if we are handling apfs
at this time.

Also use 'list_empty_careful()' instead of 'list_empty()'

Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
Acked-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
virt/kvm/async_pf.c