diff mbox

qlcnic: dcb: a couple off by one bugs

Message ID 20140301135436.GB23929@elgon.mountain
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Dan Carpenter March 1, 2014, 1:54 p.m. UTC
The ->tc_cfg[] array has QLC_DCB_MAX_TC (8) elements so the check is
off by one.  These functions are always called with valid values though
so it doesn't affect how the code works.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Sucheta Chakraborty March 3, 2014, 9:12 a.m. UTC | #1
> -----Original Message-----
> From: dept_hsg_linux_nic_dev-bounces@qlclistserver.qlogic.com
> [mailto:dept_hsg_linux_nic_dev-bounces@qlclistserver.qlogic.com] On
> Behalf Of Dan Carpenter
> Sent: Saturday, March 01, 2014 7:25 PM
> To: Shahed Shaikh
> Cc: Dept-HSG Linux NIC Dev; kernel-janitors@vger.kernel.org; netdev
> Subject: [patch] qlcnic: dcb: a couple off by one bugs
> 
> The ->tc_cfg[] array has QLC_DCB_MAX_TC (8) elements so the check is
> off by one.  These functions are always called with valid values though
> so it doesn't affect how the code works.
> 
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> 
> diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
> b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
> index 77f1bce432d2..7d4f54912bad 100644
> --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
> +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
> @@ -807,7 +807,7 @@ qlcnic_dcb_get_pg_tc_cfg_tx(struct net_device
> *netdev, int tc, u8 *prio,
>  	    !type->tc_param_valid)
>  		return;
> 
> -	if (tc < 0 || (tc > QLC_DCB_MAX_TC))
> +	if (tc < 0 || (tc >= QLC_DCB_MAX_TC))
>  		return;
> 
>  	tc_cfg = &type->tc_cfg[tc];
> @@ -843,7 +843,7 @@ static void qlcnic_dcb_get_pg_bwg_cfg_tx(struct
> net_device *netdev, int pgid,
>  	    !type->tc_param_valid)
>  		return;
> 
> -	if (pgid < 0 || pgid > QLC_DCB_MAX_PG)
> +	if (pgid < 0 || pgid >= QLC_DCB_MAX_PG)
>  		return;
> 
>  	pgcfg = &type->pg_cfg[pgid];

Acked-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller March 3, 2014, 8:38 p.m. UTC | #2
From: Dan Carpenter <dan.carpenter@oracle.com>
Date: Sat, 1 Mar 2014 16:54:36 +0300

> The ->tc_cfg[] array has QLC_DCB_MAX_TC (8) elements so the check is
> off by one.  These functions are always called with valid values though
> so it doesn't affect how the code works.
> 
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

Applied, thanks a lot Dan.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
index 77f1bce432d2..7d4f54912bad 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c
@@ -807,7 +807,7 @@  qlcnic_dcb_get_pg_tc_cfg_tx(struct net_device *netdev, int tc, u8 *prio,
 	    !type->tc_param_valid)
 		return;
 
-	if (tc < 0 || (tc > QLC_DCB_MAX_TC))
+	if (tc < 0 || (tc >= QLC_DCB_MAX_TC))
 		return;
 
 	tc_cfg = &type->tc_cfg[tc];
@@ -843,7 +843,7 @@  static void qlcnic_dcb_get_pg_bwg_cfg_tx(struct net_device *netdev, int pgid,
 	    !type->tc_param_valid)
 		return;
 
-	if (pgid < 0 || pgid > QLC_DCB_MAX_PG)
+	if (pgid < 0 || pgid >= QLC_DCB_MAX_PG)
 		return;
 
 	pgcfg = &type->pg_cfg[pgid];