On Tue, Feb 26, 2019 at 03:46:41PM +0100, Maxime Coquelin wrote: > 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?
Agree. Please feel free to send any patch on top. Thanks! Tiwei > > Thanks, > Maxime