[dpdk-stable] patch 'ethdev: check queue stats mapping input arguments' has been queued to LTS release 16.11.8

luca.boccassi at gmail.com luca.boccassi at gmail.com
Tue Jul 24 18:07:52 CEST 2018


Hi,

FYI, your patch has been queued to LTS release 16.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 07/26/18. So please
shout if anyone has objections.

Thanks.

Luca Boccassi

---
>From 7e0f3ceda8a6a58107ee9ab8618ffc07edeb4d2e Mon Sep 17 00:00:00 2001
From: Kiran Kumar <kkokkilagadda at caviumnetworks.com>
Date: Wed, 11 Jul 2018 14:11:59 +0530
Subject: [PATCH] ethdev: check queue stats mapping input arguments

[ upstream commit de9c75a5485832104d2a0c246544ba3a511802b4 ]

With current implementation, we are not checking for queue_id range
and stat_idx range in stats mapping function. This patch will add
check for queue_id and stat_idx range.

Fixes: 5de201df892 ("ethdev: add stats per queue")

Signed-off-by: Kiran Kumar <kkokkilagadda at caviumnetworks.com>
Acked-by: Andrew Rybchenko <arybchenko at solarflare.com>
---
 lib/librte_ether/rte_ethdev.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index a698fc00a..9b28e95ae 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -1598,6 +1598,16 @@ set_queue_stats_mapping(uint8_t port_id, uint16_t queue_id, uint8_t stat_idx,
 	dev = &rte_eth_devices[port_id];
 
 	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->queue_stats_mapping_set, -ENOTSUP);
+
+	if (is_rx && (queue_id >= dev->data->nb_rx_queues))
+		return -EINVAL;
+
+	if (!is_rx && (queue_id >= dev->data->nb_tx_queues))
+		return -EINVAL;
+
+	if (stat_idx >= RTE_ETHDEV_QUEUE_STAT_CNTRS)
+		return -EINVAL;
+
 	return (*dev->dev_ops->queue_stats_mapping_set)
 			(dev, queue_id, stat_idx, is_rx);
 }
-- 
2.18.0



More information about the stable mailing list