Re: [PATCH] KVM: fix OOPS on flush_work

From: Cornelia Huck
Date: Wed Oct 26 2016 - 08:02:21 EST


On Wed, 26 Oct 2016 13:44:50 +0200
Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote:

> The conversion done by commit 3706feacd007 ("KVM: Remove deprecated
> create_singlethread_workqueue") is broken. It flushes a single work
> item &irqfd->shutdown instead of all of them, and even worse if there
> is no irqfd on the list then you get a NULL pointer dereference.
> Revert the virt/kvm/eventfd.c part of that patch; to avoid the
> deprecated function, just allocate our own workqueue---it does
> not even have to be unbound---with alloc_workqueue.
>
> Fixes: 3706feacd007
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> ---
> virt/kvm/eventfd.c | 22 +++++++++++++++++++---
> virt/kvm/kvm_main.c | 6 ++++++
> 2 files changed, 25 insertions(+), 3 deletions(-)

Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>