aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChenmin Sun <chenmin.sun@intel.com>2020-09-11 22:32:51 +0800
committerDamjan Marion <dmarion@me.com>2020-09-11 15:03:19 +0000
commit504bcb7c29da6ab45656f54cda394cccb0d97dae (patch)
tree2eccfe0636d5a123e4bfb0dfdcf5832acb607824
parent698eeb126d01427313949241b961c27347db8c72 (diff)
dpdk: fix coverity defect #214232, #182930
Type: fix Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: Ie328834159687cdb4314c37d36697f2fb9081fbd
-rw-r--r--src/plugins/dpdk/device/device.c7
-rw-r--r--src/plugins/dpdk/device/init.c2
2 files changed, 8 insertions, 1 deletions
diff --git a/src/plugins/dpdk/device/device.c b/src/plugins/dpdk/device/device.c
index e58dd6f4228..532987c3130 100644
--- a/src/plugins/dpdk/device/device.c
+++ b/src/plugins/dpdk/device/device.c
@@ -639,6 +639,13 @@ dpdk_interface_set_rss_queues (struct vnet_main_t *vnm,
}));
/* *INDENT-ON* */
+ /* check valid_queue_count not zero, make coverity happy */
+ if (valid_queue_count == 0)
+ {
+ err = clib_error_return (0, "must assign at least one valid rss queue");
+ goto done;
+ }
+
valid_queue = reta;
for (i = valid_queue_count, j = 0; i < dev_info.reta_size; i++, j++)
{
diff --git a/src/plugins/dpdk/device/init.c b/src/plugins/dpdk/device/init.c
index 81803ab1cb4..d07acd644a2 100644
--- a/src/plugins/dpdk/device/init.c
+++ b/src/plugins/dpdk/device/init.c
@@ -759,7 +759,7 @@ dpdk_lib_init (dpdk_main_t * dm)
dpdk_device_setup (xd);
/* rss queues should be configured after dpdk_device_setup() */
- if (devconf->rss_queues != NULL)
+ if ((hi != NULL) && (devconf->rss_queues != NULL))
{
if (vnet_hw_interface_set_rss_queues
(vnet_get_main (), hi, devconf->rss_queues))