From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id BA939A0C45; Mon, 13 Sep 2021 18:02:26 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EB59840151; Mon, 13 Sep 2021 18:02:25 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mails.dpdk.org (Postfix) with ESMTP id 217234014F for ; Mon, 13 Sep 2021 18:02:23 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1631548943; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=RHwYnZLXuxEiWP1z/w+Tg+L9dZQapL0nPyesrLZVNXw=; b=D3rjKLwqZe8WBw7P3vcdectFpn6je0Oxd1zRosaszp9AyFlRSNcCxwfcFZfI7NaXfY6VAA 77YG66WrQHbkBSzsJwC3cIVLO8w3ET5KFvwvykvGQ4xDQILe+OsqSfwYtUxVDWfgjL5vyM 3iIwhtE00NEiRPbJkUdm1OWSKFm9YdQ= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-120-xSDYtScoNlyvoa--2eO89g-1; Mon, 13 Sep 2021 12:02:22 -0400 X-MC-Unique: xSDYtScoNlyvoa--2eO89g-1 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 080519126B; Mon, 13 Sep 2021 16:02:21 +0000 (UTC) Received: from [10.39.208.12] (unknown [10.39.208.12]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0161E60C13; Mon, 13 Sep 2021 16:02:14 +0000 (UTC) To: "Kinsella, Ray" , "Xia, Chenbo" , Kevin Traynor Cc: "Liu, Changpeng" , "dev@dpdk.org" , Thomas Monjalon , David Marchand , "Yigit, Ferruh" References: <20210907025800.55680-1-chenbo.xia@intel.com> <202f3e82-39ad-86d7-3f8a-ab1787c4795c@redhat.com> <9b736bf0-c989-c890-c9de-1a2ae48c2346@ashroe.eu> From: Maxime Coquelin Message-ID: Date: Mon, 13 Sep 2021 18:02:13 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: <9b736bf0-c989-c890-c9de-1a2ae48c2346@ashroe.eu> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=maxime.coquelin@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH] vhost: promote some APIs to stable X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 9/9/21 1:19 PM, Kinsella, Ray wrote: > > > On 09/09/2021 03:13, Xia, Chenbo wrote: >> Hi Kevin, >> >>> -----Original Message----- >>> From: Kevin Traynor >>> Sent: Wednesday, September 8, 2021 8:01 PM >>> To: Xia, Chenbo ; dev@dpdk.org; >>> maxime.coquelin@redhat.com >>> Cc: Liu, Changpeng ; mdr@ashroe.eu >>> Subject: Re: [dpdk-dev] [PATCH] vhost: promote some APIs to stable >>> >>> On 07/09/2021 03:58, Chenbo Xia wrote: >>>> As reported by symbol bot, APIs listed in this patch have been >>>> experimental for more than two years. This patch promotes these >>>> 18 APIs to stable. >>>> >>> >>> Patch lgtm. One question about a possible follow on below. >>> >>> Acked-by: Kevin Traynor >>> >>>> Signed-off-by: Chenbo Xia >>>> --- >>>> lib/vhost/rte_vhost.h | 13 ------------- >>>> lib/vhost/rte_vhost_crypto.h | 5 ----- >>>> lib/vhost/version.map | 36 ++++++++++++++++++------------------ >>>> 3 files changed, 18 insertions(+), 36 deletions(-) >>>> >> >> [...] >> >>>> diff --git a/lib/vhost/version.map b/lib/vhost/version.map >>>> index c92a9d4962..8ebde3f694 100644 >>>> --- a/lib/vhost/version.map >>>> +++ b/lib/vhost/version.map >>>> @@ -13,6 +13,13 @@ DPDK_22 { >>>> rte_vdpa_reset_stats; >>>> rte_vdpa_unregister_device; >>>> rte_vhost_avail_entries; >>>> + rte_vhost_clr_inflight_desc_packed; >>>> + rte_vhost_clr_inflight_desc_split; >>>> + rte_vhost_crypto_create; >>>> + rte_vhost_crypto_fetch_requests; >>>> + rte_vhost_crypto_finalize_requests; >>>> + rte_vhost_crypto_free; >>>> + rte_vhost_crypto_set_zero_copy; >>>> rte_vhost_dequeue_burst; >>>> rte_vhost_driver_attach_vdpa_device; >>>> rte_vhost_driver_callback_register; >>>> @@ -20,13 +27,17 @@ DPDK_22 { >>>> rte_vhost_driver_disable_features; >>>> rte_vhost_driver_enable_features; >>>> rte_vhost_driver_get_features; >>>> + rte_vhost_driver_get_protocol_features; >>>> + rte_vhost_driver_get_queue_num; >>>> rte_vhost_driver_get_vdpa_device; >>>> rte_vhost_driver_register; >>>> rte_vhost_driver_set_features; >>>> + rte_vhost_driver_set_protocol_features; >>>> rte_vhost_driver_start; >>>> rte_vhost_driver_unregister; >>>> rte_vhost_enable_guest_notification; >>>> rte_vhost_enqueue_burst; >>>> + rte_vhost_extern_callback_register; >>>> rte_vhost_get_ifname; >>>> rte_vhost_get_log_base; >>>> rte_vhost_get_mem_table; >>>> @@ -35,15 +46,22 @@ DPDK_22 { >>>> rte_vhost_get_numa_node; >>>> rte_vhost_get_queue_num; >>>> rte_vhost_get_vdpa_device; >>>> + rte_vhost_get_vhost_ring_inflight; >>>> rte_vhost_get_vhost_vring; >>>> rte_vhost_get_vring_base; >>>> + rte_vhost_get_vring_base_from_inflight; >>>> rte_vhost_get_vring_num; >>> >>>> rte_vhost_gpa_to_vva; >>> >>> Can this ^^^ be also removed now that rte_vhost_va_from_guest_pa() is >>> promoted to non-experimental? It is marked as deprecated in API (see >>> below) but i don't see anything in the deprecation documentation. >> >> Good point. I think it can be removed now. But we didn't send the deprecation >> notice last release. I am not sure if it's ok to remove it this release. >> >> @Ray & Maxime, >> >> What do you think? I think since this API is unsafe and the safe version is >> promoted, it makes sense to remove this. > > Strictly speaking there should have been depreciation notice. > However if the API has been marked depreciated since 2018 and _is_ unsafe. > You'd have to imagine that is sufficient to warrant removal at this stage. > > Thomas, David and Ferruh - any inputs/comments or objections? I aagree it can be removed in this release. SPDK project was the only user I'm aware of, and they migrated to the safe variant long time ago. I propose to apply this patch first, then I will post a patch removing this deprecated symbol if nobody disagree. Thanks, Maxime >> >> Thanks, >> Chenbo >> >>> >>> commit 9553e6e408883b3677e208dc66049bcd7f758529 >>> Author: Maxime Coquelin >>> Date: Wed Mar 14 17:31:25 2018 +0100 >>> >>> vhost: deprecate unsafe GPA translation API >>> >>> This patch marks rte_vhost_gpa_to_vva() as deprecated because >>> it is unsafe. Application relying on this API should move >>> to the new rte_vhost_va_from_guest_pa() API, and check >>> returned length to avoid out-of-bound accesses. >>> >>> This issue has been assigned CVE-2018-1059. >>> >>> Signed-off-by: Maxime Coquelin >>> >>> >>>> rte_vhost_host_notifier_ctrl; >>>> rte_vhost_log_used_vring; >>>> rte_vhost_log_write; >>>> rte_vhost_rx_queue_count; >>>> + rte_vhost_set_inflight_desc_packed; >>>> + rte_vhost_set_inflight_desc_split; >>>> + rte_vhost_set_last_inflight_io_packed; >>>> + rte_vhost_set_last_inflight_io_split; >>>> rte_vhost_set_vring_base; >>>> + rte_vhost_va_from_guest_pa; >>>> rte_vhost_vring_call; >>>> >>>> local: *; >>>> @@ -52,25 +70,7 @@ DPDK_22 { >>>> EXPERIMENTAL { >>>> global: >>>> >>>> - rte_vhost_driver_get_protocol_features; >>>> - rte_vhost_driver_get_queue_num; >>>> - rte_vhost_crypto_create; >>>> rte_vhost_crypto_driver_start; >>>> - rte_vhost_crypto_free; >>>> - rte_vhost_crypto_fetch_requests; >>>> - rte_vhost_crypto_finalize_requests; >>>> - rte_vhost_crypto_set_zero_copy; >>>> - rte_vhost_va_from_guest_pa; >>>> - rte_vhost_extern_callback_register; >>>> - rte_vhost_driver_set_protocol_features; >>>> - rte_vhost_set_inflight_desc_split; >>>> - rte_vhost_set_inflight_desc_packed; >>>> - rte_vhost_set_last_inflight_io_split; >>>> - rte_vhost_set_last_inflight_io_packed; >>>> - rte_vhost_clr_inflight_desc_split; >>>> - rte_vhost_clr_inflight_desc_packed; >>>> - rte_vhost_get_vhost_ring_inflight; >>>> - rte_vhost_get_vring_base_from_inflight; >>>> rte_vhost_slave_config_change; >>>> rte_vhost_async_channel_register; >>>> rte_vhost_async_channel_unregister; >>>> >> >