Hi Kevin, > -----Original Message----- > From: Kevin Traynor <ktray...@redhat.com> > Sent: Wednesday, September 8, 2021 8:01 PM > To: Xia, Chenbo <chenbo....@intel.com>; dev@dpdk.org; > maxime.coque...@redhat.com > Cc: Liu, Changpeng <changpeng....@intel.com>; m...@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 <ktray...@redhat.com> > > > Signed-off-by: Chenbo Xia <chenbo....@intel.com> > > --- > > 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. Thanks, Chenbo > > commit 9553e6e408883b3677e208dc66049bcd7f758529 > Author: Maxime Coquelin <maxime.coque...@redhat.com> > 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 <maxime.coque...@redhat.com> > > > > 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; > >