virtio: fix enqueuing zero-length descriptor chains
Previous descriptor chain was being corrupted by setting invalid vq->req_end (virtio.c:538). Change-Id: I4b27db02dc990e6af011a1b614e30e3050379e9f Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com> Reviewed-on: https://review.gerrithub.io/392774 Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
parent
a58611d513
commit
a1ca7a12ff
@ -511,7 +511,8 @@ virtqueue_req_add_iovs(struct virtqueue *vq, struct iovec *iovs, uint16_t iovcnt
|
||||
* or the caller specifies SPDK_VIRTIO_DESC_F_INDIRECT
|
||||
*/
|
||||
|
||||
prev_head = new_head = vq->vq_desc_head_idx;
|
||||
prev_head = vq->req_end;
|
||||
new_head = vq->vq_desc_head_idx;
|
||||
for (i = 0; i < iovcnt; ++i) {
|
||||
desc = &vq->vq_ring.desc[new_head];
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user