Commit 6d32a511 authored by Dan Carpenter's avatar Dan Carpenter Committed by Jakub Kicinski

dpaa2-eth: prevent array underflow in update_cls_rule()

The "location" is controlled by the user via the ethtool_set_rxnfc()
function.  This update_cls_rule() function checks for array overflows
but it doesn't check if the value is negative.  I have changed the type
to unsigned to prevent array underflows.

Fixes: afb90dbb ("dpaa2-eth: Add ethtool support for flow classification")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 5099dea0
...@@ -635,7 +635,7 @@ static int num_rules(struct dpaa2_eth_priv *priv) ...@@ -635,7 +635,7 @@ static int num_rules(struct dpaa2_eth_priv *priv)
static int update_cls_rule(struct net_device *net_dev, static int update_cls_rule(struct net_device *net_dev,
struct ethtool_rx_flow_spec *new_fs, struct ethtool_rx_flow_spec *new_fs,
int location) unsigned int location)
{ {
struct dpaa2_eth_priv *priv = netdev_priv(net_dev); struct dpaa2_eth_priv *priv = netdev_priv(net_dev);
struct dpaa2_eth_cls_rule *rule; struct dpaa2_eth_cls_rule *rule;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment