KVM: fix irqfd assign/deassign race
authorMichael S. Tsirkin <mst@redhat.com>
Sun, 19 Sep 2010 17:02:31 +0000 (19:02 +0200)
committerMarcelo Tosatti <mtosatti@redhat.com>
Thu, 23 Sep 2010 14:31:51 +0000 (11:31 -0300)
commit6bbfb2653177a00f70e57e53625502d43804fed0
treeb0196884ead501481a3ae3a27d45b41b43ec117d
parentc79bd89282136a4516e842fa542d6abf902ddeac
KVM: fix irqfd assign/deassign race

I think I see the following (theoretical) race:

During irqfd assign, we drop irqfds lock before we
schedule inject work. Therefore, deassign running
on another CPU could cause shutdown and flush to run
before inject, causing user after free in inject.

A simple fix it to schedule inject under the lock.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Gregory Haskins <ghaskins@novell.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
virt/kvm/eventfd.c