From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 8935A1E2B for ; Tue, 26 Feb 2019 15:46:45 +0100 (CET) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E6FD636955; Tue, 26 Feb 2019 14:46:44 +0000 (UTC) Received: from [10.36.112.64] (ovpn-112-64.ams2.redhat.com [10.36.112.64]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B7E0C60199; Tue, 26 Feb 2019 14:46:43 +0000 (UTC) To: Tiwei Bie , zhihong.wang@intel.com, dev@dpdk.org References: <20190222024209.30879-1-tiwei.bie@intel.com> From: Maxime Coquelin Message-ID: <0ee272f4-ab82-b1b9-2735-434c2d40d229@redhat.com> Date: Tue, 26 Feb 2019 15:46:41 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: <20190222024209.30879-1-tiwei.bie@intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Tue, 26 Feb 2019 14:46:44 +0000 (UTC) Subject: Re: [dpdk-dev] [PATCH 0/4] Some fixes for vhost zero copy X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Feb 2019 14:46:45 -0000 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