lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 13 Jan 2022 15:56:42 +0100 From: Stefano Garzarella <sgarzare@...hat.com> To: virtualization@...ts.linux-foundation.org Cc: netdev@...r.kernel.org, stefanha@...hat.com, Jason Wang <jasowang@...hat.com>, linux-kernel@...r.kernel.org, kvm@...r.kernel.org, "Michael S. Tsirkin" <mst@...hat.com> Subject: [RFC PATCH] vhost: cache avail index in vhost_enable_notify() In vhost_enable_notify() we enable the notifications and we read the avail index to check if new buffers have become available in the meantime. In this case, the device would go to re-read avail index to access the descriptor. As we already do in other place, we can cache the value in `avail_idx` and compare it with `last_avail_idx` to check if there are new buffers available. Signed-off-by: Stefano Garzarella <sgarzare@...hat.com> --- drivers/vhost/vhost.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index 59edb5a1ffe2..07363dff559e 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -2543,8 +2543,9 @@ bool vhost_enable_notify(struct vhost_dev *dev, struct vhost_virtqueue *vq) &vq->avail->idx, r); return false; } + vq->avail_idx = vhost16_to_cpu(vq, avail_idx); - return vhost16_to_cpu(vq, avail_idx) != vq->avail_idx; + return vq->avail_idx != vq->last_avail_idx; } EXPORT_SYMBOL_GPL(vhost_enable_notify); -- 2.31.1
Powered by blists - more mailing lists