Thread (7 messages) 7 messages, 6 authors, 2025-08-04

Re: [PATCH] vhost: initialize vq->nheads properly

From: JAEHOON KIM <hidden>
Date: 2025-07-29 13:51:51
Also in: kvm, lkml, netdev

On 7/29/2025 2:39 AM, Jason Wang wrote:
quoted hunk ↗ jump to hunk
Commit 7918bb2d19c9 ("vhost: basic in order support") introduces
vq->nheads to store the number of batched used buffers per used elem
but it forgets to initialize the vq->nheads to NULL in
vhost_dev_init() this will cause kfree() that would try to free it
without be allocated if SET_OWNER is not called.

Reported-by: JAEHOON KIM <redacted>
Reported-by: Breno Leitao <leitao@debian.org>
Fixes: 7918bb2d19c9 ("vhost: basic in order support")
Signed-off-by: Jason Wang <redacted>
---
  drivers/vhost/vhost.c | 1 +
  1 file changed, 1 insertion(+)
diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c
index a4873d116df1..b4dfe38c7008 100644
--- a/drivers/vhost/vhost.c
+++ b/drivers/vhost/vhost.c
@@ -615,6 +615,7 @@ void vhost_dev_init(struct vhost_dev *dev,
  		vq->log = NULL;
  		vq->indirect = NULL;
  		vq->heads = NULL;
+		vq->nheads = NULL;
  		vq->dev = dev;
  		mutex_init(&vq->mutex);
  		vhost_vq_reset(dev, vq);
checked and confirmed no crash occurs.
Thanks for the fast update.

Tested-by: Jaehoon Kim <redacted>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help