From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-cys01nam02on0111.outbound.protection.outlook.com ([104.47.37.111]:18692 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933847AbeCSPtV (ORCPT ); Mon, 19 Mar 2018 11:49:21 -0400 From: Sasha Levin To: "linux-kernel@vger.kernel.org" , "stable@vger.kernel.org" CC: Jian Shen , Peng Li , "David S . Miller" , Sasha Levin Subject: [PATCH AUTOSEL for 4.15 079/124] net: hns3: Fix a loop index error of tqp statistics query Date: Mon, 19 Mar 2018 15:48:26 +0000 Message-ID: <20180319154645.11350-79-alexander.levin@microsoft.com> References: <20180319154645.11350-1-alexander.levin@microsoft.com> In-Reply-To: <20180319154645.11350-1-alexander.levin@microsoft.com> Content-Language: en-US Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org List-ID: From: Jian Shen [ Upstream commit 94bfaafac9d2a3c0bcca00d01e38f7597b741799 ] An error loop index was used while querying statistics data of tqps, which may cause call trace. Fixes: 496d03e960ae ("net: hns3: Add Ethtool support to HNS3 driver") Signed-off-by: Jian Shen Signed-off-by: Peng Li Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c b/dr= ivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c index a21470c72da3..485497a04d7d 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c @@ -455,13 +455,13 @@ static u64 *hns3_get_stats_tqps(struct hnae3_handle *= handle, u64 *data) struct hnae3_knic_private_info *kinfo =3D &handle->kinfo; struct hns3_enet_ring *ring; u8 *stat; - u32 i; + int i, j; =20 /* get stats for Tx */ for (i =3D 0; i < kinfo->num_tqps; i++) { ring =3D nic_priv->ring_data[i].ring; - for (i =3D 0; i < HNS3_TXQ_STATS_COUNT; i++) { - stat =3D (u8 *)ring + hns3_txq_stats[i].stats_offset; + for (j =3D 0; j < HNS3_TXQ_STATS_COUNT; j++) { + stat =3D (u8 *)ring + hns3_txq_stats[j].stats_offset; *data++ =3D *(u64 *)stat; } } @@ -469,8 +469,8 @@ static u64 *hns3_get_stats_tqps(struct hnae3_handle *ha= ndle, u64 *data) /* get stats for Rx */ for (i =3D 0; i < kinfo->num_tqps; i++) { ring =3D nic_priv->ring_data[i + kinfo->num_tqps].ring; - for (i =3D 0; i < HNS3_RXQ_STATS_COUNT; i++) { - stat =3D (u8 *)ring + hns3_rxq_stats[i].stats_offset; + for (j =3D 0; j < HNS3_RXQ_STATS_COUNT; j++) { + stat =3D (u8 *)ring + hns3_rxq_stats[j].stats_offset; *data++ =3D *(u64 *)stat; } } --=20 2.14.1