diff mbox series

[v2] interconnect: Check for valid path in icc_set_bw()

Message ID 20200106172746.19803-1-georgi.djakov@linaro.org (mailing list archive)
State Not Applicable, archived
Headers show
Series [v2] interconnect: Check for valid path in icc_set_bw() | expand

Commit Message

Georgi Djakov Jan. 6, 2020, 5:27 p.m. UTC
Use IS_ERR() to ensure that the path passed to icc_set_bw() is valid.

Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
---
v2:
- Use WARN_ON() instead of pr_err() (Bjorn)

 drivers/interconnect/core.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Evan Green Jan. 6, 2020, 9:44 p.m. UTC | #1
On Mon, Jan 6, 2020 at 9:27 AM Georgi Djakov <georgi.djakov@linaro.org> wrote:
>
> Use IS_ERR() to ensure that the path passed to icc_set_bw() is valid.
>
> Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>

Reviewed-by: Evan Green <evgreen@chromium.org>
Bjorn Andersson Jan. 7, 2020, 6:15 a.m. UTC | #2
On Mon 06 Jan 09:27 PST 2020, Georgi Djakov wrote:

> Use IS_ERR() to ensure that the path passed to icc_set_bw() is valid.
> 

Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>

> Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
> ---
> v2:
> - Use WARN_ON() instead of pr_err() (Bjorn)
> 
>  drivers/interconnect/core.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/interconnect/core.c b/drivers/interconnect/core.c
> index 63c164264b73..d2ba5ae7d25b 100644
> --- a/drivers/interconnect/core.c
> +++ b/drivers/interconnect/core.c
> @@ -495,9 +495,12 @@ int icc_set_bw(struct icc_path *path, u32 avg_bw, u32 peak_bw)
>  	size_t i;
>  	int ret;
>  
> -	if (!path || !path->num_nodes)
> +	if (!path)
>  		return 0;
>  
> +	if (WARN_ON(IS_ERR(path) || !path->num_nodes))
> +		return -EINVAL;
> +
>  	mutex_lock(&icc_lock);
>  
>  	old_avg = path->reqs[0].avg_bw;
diff mbox series

Patch

diff --git a/drivers/interconnect/core.c b/drivers/interconnect/core.c
index 63c164264b73..d2ba5ae7d25b 100644
--- a/drivers/interconnect/core.c
+++ b/drivers/interconnect/core.c
@@ -495,9 +495,12 @@  int icc_set_bw(struct icc_path *path, u32 avg_bw, u32 peak_bw)
 	size_t i;
 	int ret;
 
-	if (!path || !path->num_nodes)
+	if (!path)
 		return 0;
 
+	if (WARN_ON(IS_ERR(path) || !path->num_nodes))
+		return -EINVAL;
+
 	mutex_lock(&icc_lock);
 
 	old_avg = path->reqs[0].avg_bw;