[dpdk-dev] [PATCH 0/4] Some fixes for vhost zero copy

Maxime Coquelin maxime.coquelin at redhat.com
Tue Feb 26 15:46:41 CET 2019



On 2/22/19 3:42 AM, Tiwei Bie wrote:
> Tiwei Bie (4):
>    vhost: restore mbuf first when freeing zmbuf
>    vhost: fix potential use-after-free for zero copy mbuf
>    vhost: fix potential use-after-free for memory region
>    doc: improve vhost zero copy guide
> 
>   doc/guides/prog_guide/vhost_lib.rst |  3 +++
>   lib/librte_vhost/vhost.h            | 34 +++++++++++++++++++++++
>   lib/librte_vhost/vhost_user.c       | 42 ++++++++++++++++++++++-------
>   lib/librte_vhost/virtio_net.c       | 34 -----------------------
>   4 files changed, 70 insertions(+), 43 deletions(-)
> 

Looking at the spec, I think we may need also to drain zmbufs in the
VHOST_USER_SET_VRING_ENABLE for the disable case:

""
If VHOST_USER_F_PROTOCOL_FEATURES has been negotiated, the ring is 
initialized
in a disabled state. Client must not pass data to/from the backend until 
ring is enabled by
VHOST_USER_SET_VRING_ENABLE with parameter 1, or after it has been 
disabled by
VHOST_USER_SET_VRING_ENABLE with parameter 0.

Each ring is initialized in a stopped state, client must not process it 
until
ring is started, or *after it has been stopped*.
""

Do you take care of this or I send a patch on top?

Thanks,
Maxime


More information about the dev mailing list