vhost: stop worker only if created
authorEric Dumazet <eric.dumazet@gmail.com>
Tue, 31 Aug 2010 02:05:57 +0000 (02:05 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 1 Sep 2010 21:26:13 +0000 (14:26 -0700)
Its currently illegal to call kthread_stop(NULL)

Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/vhost/vhost.c

index e05557d..4b99117 100644 (file)
@@ -323,7 +323,10 @@ void vhost_dev_cleanup(struct vhost_dev *dev)
        dev->mm = NULL;
 
        WARN_ON(!list_empty(&dev->work_list));
-       kthread_stop(dev->worker);
+       if (dev->worker) {
+               kthread_stop(dev->worker);
+               dev->worker = NULL;
+       }
 }
 
 static int log_access_ok(void __user *log_base, u64 addr, unsigned long sz)