[PATCH 1/1] vhost: Provide a kernel warning if mutex is held whilst clean-up in progress

From: Lee Jones
Date: Thu Mar 03 2022 - 10:19:45 EST


All workers/users should be halted before any clean-up should take place.

Suggested-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
---
drivers/vhost/vhost.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c
index bbaff6a5e21b8..d935d2506963f 100644
--- a/drivers/vhost/vhost.c
+++ b/drivers/vhost/vhost.c
@@ -693,6 +693,9 @@ void vhost_dev_cleanup(struct vhost_dev *dev)
int i;

for (i = 0; i < dev->nvqs; ++i) {
+ /* Ideally all workers should be stopped prior to clean-up */
+ WARN_ON(mutex_is_locked(&dev->vqs[i]->mutex));
+
mutex_lock(&dev->vqs[i]->mutex);
if (dev->vqs[i]->error_ctx)
eventfd_ctx_put(dev->vqs[i]->error_ctx);
--
2.35.1.574.g5d30c73bfb-goog