tree 23a0c4af14dd9c548c5bcb457c74fdd980e2312e
parent 29a4b9333bf9ffef12b3dd7cbf2e3dbe01152968
author Marcelo Tosatti <mtosatti@redhat.com> 1245246827 -0300
committer Avi Kivity <avi@redhat.com> 1246187429 +0300

KVM: protect concurrent make_all_cpus_request

make_all_cpus_request contains a race condition which can
trigger false request completed status, as follows:

CPU0                                              CPU1

if (test_and_set_bit(req,&vcpu->requests))
   ....                                        	   if (test_and_set_bit(req,&vcpu->requests))
   ..                                                  return
proceed to smp_call_function_many(wait=1)

Use a spinlock to serialize concurrent CPUs.

Cc: stable@kernel.org
Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
