Re: [PATCH][V2] reset: remove redundant null check on pointer dev

From: Bartosz Golaszewski
Date: Fri May 10 2019 - 06:16:10 EST


pt., 10 maj 2019 o 11:58 Colin King <colin.king@xxxxxxxxxxxxx> napisaÅ(a):
>
> From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
>
> Pointer dev is being dereferenced when passed to the inlined
> functon dev_name, however, dev is later being null checked
> so at first this seems like a potential null pointer dereference.
>
> In fact, _reset_control_get_from_lookup is only ever called from
> __reset_control_get, right after checking dev->of_node hence
> dev can never be null. Clean this up by removing the redundant
> null check.
>
> Thanks to Philipp Zabel for spotting that dev can never be null.
>
> Addresses-Coverity: ("Dereference before null check")
> Fixes: 6691dffab0ab ("reset: add support for non-DT systems")
> Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
> ---
>
> V2: remove null check point, it is redundant.
>
> ---
> drivers/reset/core.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/drivers/reset/core.c b/drivers/reset/core.c
> index 81ea77cba123..921f4bbbad8a 100644
> --- a/drivers/reset/core.c
> +++ b/drivers/reset/core.c
> @@ -694,9 +694,6 @@ __reset_control_get_from_lookup(struct device *dev, const char *con_id,
> const char *dev_id = dev_name(dev);
> struct reset_control *rstc = NULL;
>
> - if (!dev)
> - return ERR_PTR(-EINVAL);
> -
> mutex_lock(&reset_lookup_mutex);
>
> list_for_each_entry(lookup, &reset_lookup_list, list) {
> --
> 2.20.1
>

Reviewed-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>