Use IS_ERR() to ensure that the path passed to icc_set_bw() is valid.
Signed-off-by: Georgi Djakov <[email protected]>
---
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;
On Mon, Jan 6, 2020 at 9:27 AM Georgi Djakov <[email protected]> wrote:
>
> Use IS_ERR() to ensure that the path passed to icc_set_bw() is valid.
>
> Signed-off-by: Georgi Djakov <[email protected]>
Reviewed-by: Evan Green <[email protected]>
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 <[email protected]>
> Signed-off-by: Georgi Djakov <[email protected]>
> ---
> 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;