Re: [PATCH 1/6] virtio_host: host-side implementation of virtio rings.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Rusty Russell <rusty@xxxxxxxxxxxxxxx> writes:
> "Michael S. Tsirkin" <mst@xxxxxxxxxx> writes:
>>> +		iov->iov[iov->i].iov_base = (__force __user void *)addr;
>>> +		iov->iov[iov->i].iov_len = desc.len;
>>
>> The following comment from the previous version still applies:
>> 	> This looks like it won't do the right thing if desc.len spans multiple
>> 	> ranges. I don't know if this happens in practice but this is something
>> 	> vhost supports ATM.
>> in otgher words, we might need to split a single desc to multiple
>> iov entries.
>
> Ah, separate offsets for consecutive ranges, right.  I'd prefer to say
> "don't do that", but qemu is rarely sane.  I'll fix it.

Actually, you make the same assumption for vhost, with your use of
getuser and putuser for accessing the ring.

The complexity and cost of handling this is significant, and the error
if it ever did happen is distinctive.  Does qemu ever create such
things?

Thanks,
Rusty.
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization


[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux