The alloc_workqueue() function does not return error pointers, it returns NULL on error. Update the check accordingly. Fixes: 1a3320dd2939 ("KVM: MMU: propagate alloc_workqueue failure") Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> --- Obviously, I noticed that the patch says "propagate alloc_workqueue failure" so that's a puzzling thing. Merge issue perhaps? In linux-next it alloc_workqueue() returns NULL. arch/x86/kvm/mmu/tdp_mmu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kvm/mmu/tdp_mmu.c b/arch/x86/kvm/mmu/tdp_mmu.c index a2f9a34a0168..d71d177ae6b8 100644 --- a/arch/x86/kvm/mmu/tdp_mmu.c +++ b/arch/x86/kvm/mmu/tdp_mmu.c @@ -22,8 +22,8 @@ int kvm_mmu_init_tdp_mmu(struct kvm *kvm) return 0; wq = alloc_workqueue("kvm", WQ_UNBOUND|WQ_MEM_RECLAIM|WQ_CPU_INTENSIVE, 0); - if (IS_ERR(wq)) - return PTR_ERR(wq); + if (!wq) + return -ENOMEM; /* This should not be changed for the lifetime of the VM. */ kvm->arch.tdp_mmu_enabled = true; -- 2.20.1