aboutgitcodebugslistschat
path: root/virtio.c
diff options
context:
space:
mode:
authorLaurent Vivier <lvivier@redhat.com>2025-01-15 17:22:30 +0100
committerStefano Brivio <sbrivio@redhat.com>2025-01-15 23:05:31 +0100
commit1b95bd6fa1148f3609bebf7b2bcd6d47376e61a6 (patch)
tree43e954ce39bafb8f24c4893ecc60d56d1c09ef0c /virtio.c
parentf04b483d1509b852951fe1421ef6f6740c9f9a08 (diff)
downloadpasst-1b95bd6fa1148f3609bebf7b2bcd6d47376e61a6.tar
passt-1b95bd6fa1148f3609bebf7b2bcd6d47376e61a6.tar.gz
passt-1b95bd6fa1148f3609bebf7b2bcd6d47376e61a6.tar.bz2
passt-1b95bd6fa1148f3609bebf7b2bcd6d47376e61a6.tar.lz
passt-1b95bd6fa1148f3609bebf7b2bcd6d47376e61a6.tar.xz
passt-1b95bd6fa1148f3609bebf7b2bcd6d47376e61a6.tar.zst
passt-1b95bd6fa1148f3609bebf7b2bcd6d47376e61a6.zip
vhost_user: fix multibuffer from linux
Under some conditions, linux can provide several buffers in the same element (multiple entries in the iovec array). I didn't identify what changed between the kernel guest that provides one buffer and the one that provides several (doesn't seem to be a kernel change or a configuration change). Fix the following assert: ASSERTION FAILED in virtqueue_map_desc (virtio.c:402): num_sg < max_num_sg What I can see is the buffer can be splitted in two iovecs: - vnet header - packet data This change manages this special case but the real fix will be to allow tap_add_packet() to manage iovec array. Signed-off-by: Laurent Vivier <lvivier@redhat.com> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'virtio.c')
0 files changed, 0 insertions, 0 deletions