vhost: fix crash with multiqueue enabled
The patch fixes wrong handling of virtqueue array index when GET_VRING_BASE message comes. Signed-off-by: Tetsuya Mukawa <mukawa@igel.co.jp> Acked-by: Huawei Xie <huawei.xie@intel.com> Acked-by: Flavio Leitner <fbl@sysclose.org>
This commit is contained in:
parent
f53577f069
commit
07d37fbf5e
@ -300,13 +300,9 @@ user_get_vring_base(struct vhost_device_ctx ctx,
|
||||
* sent and only sent in vhost_vring_stop.
|
||||
* TODO: cleanup the vring, it isn't usable since here.
|
||||
*/
|
||||
if (dev->virtqueue[state->index + VIRTIO_RXQ]->kickfd >= 0) {
|
||||
close(dev->virtqueue[state->index + VIRTIO_RXQ]->kickfd);
|
||||
dev->virtqueue[state->index + VIRTIO_RXQ]->kickfd = -1;
|
||||
}
|
||||
if (dev->virtqueue[state->index + VIRTIO_TXQ]->kickfd >= 0) {
|
||||
close(dev->virtqueue[state->index + VIRTIO_TXQ]->kickfd);
|
||||
dev->virtqueue[state->index + VIRTIO_TXQ]->kickfd = -1;
|
||||
if (dev->virtqueue[state->index]->kickfd >= 0) {
|
||||
close(dev->virtqueue[state->index]->kickfd);
|
||||
dev->virtqueue[state->index]->kickfd = -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user