Message ID | 20180627085653.v5bi34k2ozkvvrsr@kili.mountain (mailing list archive) |
---|---|
State | Accepted |
Commit | c54c1c5ee8e73b7cb752834e52e2129b1dab00bd |
Headers | show |
Thanks for the patch, On 27/06/18 09:56, Dan Carpenter wrote: > The > should be >= 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 <dan.carpenter@oracle.com> > Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> > 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, struct apr_resp_pkt *data) > */ > int q6afe_get_port_id(int index) > { > - if (index < 0 || index > AFE_PORT_MAX) > + if (index < 0 || index >= AFE_PORT_MAX) > return -EINVAL; > > return port_maps[index].port_id; > @@ -1014,7 +1014,7 @@ int q6afe_port_stop(struct q6afe_port *port) > > port_id = port->id; > index = port->token; > - if (index < 0 || index > AFE_PORT_MAX) { > + if (index < 0 || index >= 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 device *dev, int id) > unsigned long flags; > int cfg_type; > > - if (id < 0 || id > AFE_PORT_MAX) { > + if (id < 0 || id >= AFE_PORT_MAX) { > dev_err(dev, "AFE port token[%d] invalid!\n", id); > return ERR_PTR(-EINVAL); > } >
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, struct apr_resp_pkt *data) */ int q6afe_get_port_id(int index) { - if (index < 0 || index > AFE_PORT_MAX) + if (index < 0 || index >= AFE_PORT_MAX) return -EINVAL; return port_maps[index].port_id; @@ -1014,7 +1014,7 @@ int q6afe_port_stop(struct q6afe_port *port) port_id = port->id; index = port->token; - if (index < 0 || index > AFE_PORT_MAX) { + if (index < 0 || index >= 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 device *dev, int id) unsigned long flags; int cfg_type; - if (id < 0 || id > AFE_PORT_MAX) { + if (id < 0 || id >= AFE_PORT_MAX) { dev_err(dev, "AFE port token[%d] invalid!\n", id); return ERR_PTR(-EINVAL); }
The > should be >= 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 <dan.carpenter@oracle.com>