[dpdk-dev] net/ixgbe: fix mirror rule index overflow

Message ID 20170721085637.18701-1-qi.z.zhang@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Qi Zhang July 21, 2017, 8:56 a.m. UTC
  Mirror rule id should not exceed the boundary defined by
IXGBE_MAX_MIRROR_RULES.

Fixes: fe3a45fd4104 ("ixgbe: add VMDq support")
Cc: stable@dpdk.org

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 3 +++
 1 file changed, 3 insertions(+)
  

Comments

Ferruh Yigit July 21, 2017, 9:39 a.m. UTC | #1
On 7/21/2017 9:56 AM, Qi Zhang wrote:
> Mirror rule id should not exceed the boundary defined by
> IXGBE_MAX_MIRROR_RULES.
> 
> Fixes: fe3a45fd4104 ("ixgbe: add VMDq support")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net/master, thanks.
  
Ferruh Yigit July 21, 2017, 9:40 a.m. UTC | #2
On 7/21/2017 9:56 AM, Qi Zhang wrote:
> Mirror rule id should not exceed the boundary defined by
> IXGBE_MAX_MIRROR_RULES.
> 
> Fixes: fe3a45fd4104 ("ixgbe: add VMDq support")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net/master, thanks.
  

Patch

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 194058f..e829266 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -5461,6 +5461,9 @@  ixgbe_mirror_rule_reset(struct rte_eth_dev *dev, uint8_t rule_id)
 	if (ixgbe_vt_check(hw) < 0)
 		return -ENOTSUP;
 
+	if (rule_id >= IXGBE_MAX_MIRROR_RULES)
+		return -EINVAL;
+
 	memset(&mr_info->mr_conf[rule_id], 0,
 	       sizeof(struct rte_eth_mirror_conf));