302a0d3ed7
The v9fs_read() and v9fs_write() functions rely on iovec[] manipulation code should be replaced with QEMUIOVector to avoid duplicating code. In the future it may be possible to make the code even more concise by using QEMUIOVector consistently across virtio and 9pfs. The "v" format specifier for pdu_marshal() and pdu_unmarshal() is dropped since it does not actually pack/unpack anything. The specifier was also not implemented to update the offset variable and could only be used at the end of a format string, another sign that this shouldn't really be a format specifier. Instead, see the new v9fs_init_qiov_from_pdu() function. This change avoids a possible iovec[] buffer overflow when indirect vrings are used since the number of vectors is now limited by the underlying VirtQueueElement and cannot be out-of-bounds. Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> |
||
---|---|---|
.. | ||
codir.c | ||
cofile.c | ||
cofs.c | ||
coxattr.c | ||
virtio-9p-coth.c | ||
virtio-9p-coth.h | ||
virtio-9p-device.c | ||
virtio-9p-handle.c | ||
virtio-9p-local.c | ||
virtio-9p-posix-acl.c | ||
virtio-9p-synth.c | ||
virtio-9p-synth.h | ||
virtio-9p-xattr-user.c | ||
virtio-9p-xattr.c | ||
virtio-9p-xattr.h | ||
virtio-9p.c | ||
virtio-9p.h |