lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 22 Apr 2022 09:45:58 -0600
From:   Mathieu Poirier <mathieu.poirier@...aro.org>
To:     Shile Zhang <shile.zhang@...ux.alibaba.com>
Cc:     Suzuki K Poulose <suzuki.poulose@....com>,
        Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
        coresight@...ts.linaro.org, linux-arm-kernel@...ts.infradead.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] coresight: etm4x: return 0 instead of using local ret
 variable

On Fri, Apr 22, 2022 at 10:02:39AM +0800, Shile Zhang wrote:
> The function etm4_remove_dev() always return 0, and the former function
> etm4_remove has been changed to void in commit 3fd269e74f2fe ("amba: Make
> the remove callback return void"). But now its changed back to int type
> for some reason, which is different to the stable branch linux-5.10.y.

Please spend time understanding why function etm4_remove_dev()'s return value
has been changed back to an "int".  From there you will likely come to the
conclusion that adding the above to the changelog doesn't make sense.

> 
> Just let it return void and return 0 directly in it's caller function
> etm4_remove_platform_dev.

The only rational for this patch is that etm4_remove_dev() always returns '0'.
And even if it was to return anything else, the return value it not checked.
And even if the return value was checked, there is nothing to do about an error
condition since the driver is being removed.

> 
> Signed-off-by: Shile Zhang <shile.zhang@...ux.alibaba.com>
> ---
> v2: re-work the commit log from Mathieu's suggestion.
> v1: https://lore.kernel.org/linux-arm-kernel/20220421164217.GB1596562@p14s/T/
> ---
>  drivers/hwtracing/coresight/coresight-etm4x-core.c | 11 +++++------
>  1 file changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c b/drivers/hwtracing/coresight/coresight-etm4x-core.c
> index 7f416a12000eb..141f8209a152a 100644
> --- a/drivers/hwtracing/coresight/coresight-etm4x-core.c
> +++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c
> @@ -2104,7 +2104,7 @@ static void clear_etmdrvdata(void *info)
>  	etmdrvdata[cpu] = NULL;
>  }
>  
> -static int __exit etm4_remove_dev(struct etmv4_drvdata *drvdata)
> +static void __exit etm4_remove_dev(struct etmv4_drvdata *drvdata)
>  {
>  	etm_perf_symlink(drvdata->csdev, false);
>  	/*
> @@ -2125,8 +2125,6 @@ static int __exit etm4_remove_dev(struct etmv4_drvdata *drvdata)
>  
>  	cscfg_unregister_csdev(drvdata->csdev);
>  	coresight_unregister(drvdata->csdev);
> -
> -	return 0;
>  }
>  
>  static void __exit etm4_remove_amba(struct amba_device *adev)
> @@ -2139,13 +2137,14 @@ static void __exit etm4_remove_amba(struct amba_device *adev)
>  
>  static int __exit etm4_remove_platform_dev(struct platform_device *pdev)
>  {
> -	int ret = 0;
>  	struct etmv4_drvdata *drvdata = dev_get_drvdata(&pdev->dev);
>  
>  	if (drvdata)
> -		ret = etm4_remove_dev(drvdata);
> +		etm4_remove_dev(drvdata);
> +
>  	pm_runtime_disable(&pdev->dev);
> -	return ret;
> +
> +	return 0;
>  }
>  
>  static const struct amba_id etm4_ids[] = {
> -- 
> 2.33.0.rc2
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ