Fixes: 939066d96563 ("vhost/crypto: add public function implementation") Cc: stable@dpdk.org This patch fixes the vhost crypto missed "VHOST_USER_PROTOCOL_F_CONFIG" flag problem during initialization. Newer Qemu version requires this feature enabled. Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> --- lib/librte_vhost/rte_vhost.h | 5 +++++ lib/librte_vhost/vhost_crypto.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/librte_vhost/rte_vhost.h b/lib/librte_vhost/rte_vhost.h index 7b5dc87c2..ad6e71702 100644 --- a/lib/librte_vhost/rte_vhost.h +++ b/lib/librte_vhost/rte_vhost.h @@ -68,6 +68,10 @@ extern "C" { #define VHOST_USER_PROTOCOL_F_PAGEFAULT 8 #endif +#ifndef VHOST_USER_PROTOCOL_F_CONFIG +#define VHOST_USER_PROTOCOL_F_CONFIG 9 +#endif + #ifndef VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD #define VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD 10 #endif @@ -85,6 +89,7 @@ extern "C" { #define VHOST_USER_F_PROTOCOL_FEATURES 30 #endif + /** * Information relating to memory regions including offsets to * addresses in QEMUs memory file. diff --git a/lib/librte_vhost/vhost_crypto.c b/lib/librte_vhost/vhost_crypto.c index 684fddc30..242fa5333 100644 --- a/lib/librte_vhost/vhost_crypto.c +++ b/lib/librte_vhost/vhost_crypto.c @@ -40,7 +40,8 @@ (1 << VIRTIO_RING_F_EVENT_IDX) | \ (1 << VIRTIO_CRYPTO_SERVICE_CIPHER) | \ (1 << VIRTIO_CRYPTO_SERVICE_MAC) | \ - (1 << VIRTIO_NET_F_CTRL_VQ)) + (1 << VIRTIO_NET_F_CTRL_VQ) | \ + (1 << VHOST_USER_PROTOCOL_F_CONFIG)) #define IOVA_TO_VVA(t, r, a, l, p) \ ((t)(uintptr_t)vhost_iova_to_vva(r->dev, r->vq, a, l, p)) -- 2.20.1
Fixes: 939066d96563 ("vhost/crypto: add public function implementation") Cc: stable@dpdk.org This patch fixes the vhost crypto missed "VHOST_USER_PROTOCOL_F_CONFIG" flag problem during initialization. Newer Qemu version requires this feature enabled. Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> --- lib/librte_vhost/rte_vhost.h | 5 +++++ lib/librte_vhost/vhost_crypto.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/librte_vhost/rte_vhost.h b/lib/librte_vhost/rte_vhost.h index 7b5dc87c2..ad6e71702 100644 --- a/lib/librte_vhost/rte_vhost.h +++ b/lib/librte_vhost/rte_vhost.h @@ -68,6 +68,10 @@ extern "C" { #define VHOST_USER_PROTOCOL_F_PAGEFAULT 8 #endif +#ifndef VHOST_USER_PROTOCOL_F_CONFIG +#define VHOST_USER_PROTOCOL_F_CONFIG 9 +#endif + #ifndef VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD #define VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD 10 #endif @@ -85,6 +89,7 @@ extern "C" { #define VHOST_USER_F_PROTOCOL_FEATURES 30 #endif + /** * Information relating to memory regions including offsets to * addresses in QEMUs memory file. diff --git a/lib/librte_vhost/vhost_crypto.c b/lib/librte_vhost/vhost_crypto.c index 684fddc30..242fa5333 100644 --- a/lib/librte_vhost/vhost_crypto.c +++ b/lib/librte_vhost/vhost_crypto.c @@ -40,7 +40,8 @@ (1 << VIRTIO_RING_F_EVENT_IDX) | \ (1 << VIRTIO_CRYPTO_SERVICE_CIPHER) | \ (1 << VIRTIO_CRYPTO_SERVICE_MAC) | \ - (1 << VIRTIO_NET_F_CTRL_VQ)) + (1 << VIRTIO_NET_F_CTRL_VQ) | \ + (1 << VHOST_USER_PROTOCOL_F_CONFIG)) #define IOVA_TO_VVA(t, r, a, l, p) \ ((t)(uintptr_t)vhost_iova_to_vva(r->dev, r->vq, a, l, p)) -- 2.20.1
Coverity issue: 343401 This patch fixes the incorrect rte_vhost_crypto_fetch_requests return value. Fixes: 3bb595ecd682 ("vhost/crypto: add request handler") Cc: roy.fan.zhang@intel.com Cc: stable@dpdk.org Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> --- lib/librte_vhost/vhost_crypto.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/librte_vhost/vhost_crypto.c b/lib/librte_vhost/vhost_crypto.c index 684fddc30..68911972b 100644 --- a/lib/librte_vhost/vhost_crypto.c +++ b/lib/librte_vhost/vhost_crypto.c @@ -1539,18 +1539,18 @@ rte_vhost_crypto_fetch_requests(int vid, uint32_t qid, if (unlikely(dev == NULL)) { VC_LOG_ERR("Invalid vid %i", vid); - return -EINVAL; + return 0; } if (unlikely(qid >= VHOST_MAX_QUEUE_PAIRS)) { VC_LOG_ERR("Invalid qid %u", qid); - return -EINVAL; + return 0; } vcrypto = (struct vhost_crypto *)dev->extern_data; if (unlikely(vcrypto == NULL)) { VC_LOG_ERR("Cannot find required data, is it initialized?"); - return -ENOENT; + return 0; } vq = dev->virtqueue[qid]; @@ -1572,7 +1572,7 @@ rte_vhost_crypto_fetch_requests(int vid, uint32_t qid, if (unlikely(rte_mempool_get_bulk(vcrypto->mbuf_pool, (void **)mbufs, count * 2) < 0)) { VC_LOG_ERR("Insufficient memory"); - return -ENOMEM; + return 0; } for (i = 0; i < count; i++) { @@ -1602,7 +1602,7 @@ rte_vhost_crypto_fetch_requests(int vid, uint32_t qid, if (unlikely(rte_mempool_get_bulk(vcrypto->mbuf_pool, (void **)mbufs, count) < 0)) { VC_LOG_ERR("Insufficient memory"); - return -ENOMEM; + return 0; } for (i = 0; i < count; i++) { -- 2.20.1
On 1/29/20 11:24 AM, Fan Zhang wrote:
> Coverity issue: 343401
>
> This patch fixes the incorrect rte_vhost_crypto_fetch_requests
> return value.
>
> Fixes: 3bb595ecd682 ("vhost/crypto: add request handler")
> Cc: roy.fan.zhang@intel.com
> Cc: stable@dpdk.org
>
> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
> ---
> lib/librte_vhost/vhost_crypto.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Thanks,
Maxime
On 1/29/20 11:24 AM, Fan Zhang wrote:
> Coverity issue: 343401
>
> This patch fixes the incorrect rte_vhost_crypto_fetch_requests
> return value.
>
> Fixes: 3bb595ecd682 ("vhost/crypto: add request handler")
> Cc: roy.fan.zhang@intel.com
> Cc: stable@dpdk.org
>
> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
> ---
> lib/librte_vhost/vhost_crypto.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
Applied to dpdk-next-virtio tree.
Thanks,
Maxime
On 1/29/20 11:19 AM, Fan Zhang wrote:
> Fixes: 939066d96563 ("vhost/crypto: add public function implementation")
> Cc: stable@dpdk.org
>
> This patch fixes the vhost crypto missed
> "VHOST_USER_PROTOCOL_F_CONFIG" flag problem during initialization.
> Newer Qemu version requires this feature enabled.
>
> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
> ---
> lib/librte_vhost/rte_vhost.h | 5 +++++
> lib/librte_vhost/vhost_crypto.c | 3 ++-
> 2 files changed, 7 insertions(+), 1 deletion(-)
>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Thanks,
Maxime
On 1/29/20 11:19 AM, Fan Zhang wrote:
> Fixes: 939066d96563 ("vhost/crypto: add public function implementation")
> Cc: stable@dpdk.org
>
> This patch fixes the vhost crypto missed
> "VHOST_USER_PROTOCOL_F_CONFIG" flag problem during initialization.
> Newer Qemu version requires this feature enabled.
>
> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
> ---
> lib/librte_vhost/rte_vhost.h | 5 +++++
> lib/librte_vhost/vhost_crypto.c | 3 ++-
> 2 files changed, 7 insertions(+), 1 deletion(-)
Applied to dpdk-next-virtio/master.
Thanks,
Maxime