From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-eopbgr720118.outbound.protection.outlook.com ([40.107.72.118]:6704 "EHLO NAM05-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728417AbeIQI1W (ORCPT ); Mon, 17 Sep 2018 04:27:22 -0400 From: Sasha Levin To: "stable@vger.kernel.org" , "linux-kernel@vger.kernel.org" CC: Dan Carpenter , Mark Brown , Sasha Levin Subject: [PATCH AUTOSEL 4.18 083/136] ASoC: qdsp6: qdafe: fix some off by one bugs Date: Mon, 17 Sep 2018 03:01:04 +0000 Message-ID: <20180917030006.245495-83-alexander.levin@microsoft.com> References: <20180917030006.245495-1-alexander.levin@microsoft.com> In-Reply-To: <20180917030006.245495-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: Dan Carpenter [ Upstream commit c54c1c5ee8e73b7cb752834e52e2129b1dab00bd ] The > should be >=3D or we could read one element beyond the end of the port_maps[] array. Fixes: 7fa2d70f9766 ("ASoC: qdsp6: q6afe: Add q6afe driver") Signed-off-by: Dan Carpenter Acked-by: Srinivas Kandagatla Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- sound/soc/qcom/qdsp6/q6afe.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6afe.c b/sound/soc/qcom/qdsp6/q6afe.c index 01f43218984b..69a7896cb713 100644 --- a/sound/soc/qcom/qdsp6/q6afe.c +++ b/sound/soc/qcom/qdsp6/q6afe.c @@ -777,7 +777,7 @@ static int q6afe_callback(struct apr_device *adev, stru= ct apr_resp_pkt *data) */ int q6afe_get_port_id(int index) { - if (index < 0 || index > AFE_PORT_MAX) + if (index < 0 || index >=3D AFE_PORT_MAX) return -EINVAL; =20 return port_maps[index].port_id; @@ -1014,7 +1014,7 @@ int q6afe_port_stop(struct q6afe_port *port) =20 port_id =3D port->id; index =3D port->token; - if (index < 0 || index > AFE_PORT_MAX) { + if (index < 0 || index >=3D AFE_PORT_MAX) { dev_err(afe->dev, "AFE port index[%d] invalid!\n", index); return -EINVAL; } @@ -1355,7 +1355,7 @@ struct q6afe_port *q6afe_port_get_from_id(struct devi= ce *dev, int id) unsigned long flags; int cfg_type; =20 - if (id < 0 || id > AFE_PORT_MAX) { + if (id < 0 || id >=3D AFE_PORT_MAX) { dev_err(dev, "AFE port token[%d] invalid!\n", id); return ERR_PTR(-EINVAL); } --=20 2.17.1