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