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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <85da792e-d3c7-689f-e56a-9ec2cd7d9464@amd.com>
Date:   Tue, 15 Feb 2022 09:58:16 +0100
From:   Christian König <christian.koenig@....com>
To:     Qing Wang <wangqing@...o.com>,
        Alex Deucher <alexander.deucher@....com>,
        "Pan, Xinhui" <Xinhui.Pan@....com>,
        David Airlie <airlied@...ux.ie>,
        Daniel Vetter <daniel@...ll.ch>, amd-gfx@...ts.freedesktop.org,
        dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] amdgpu: assign adev after null check

Am 15.02.22 um 02:59 schrieb Qing Wang:
> From: Wang Qing <wangqing@...o.com>
>
> adev should be assigned after a null check

I would rather remove the NULL check altogether.

The caller is supposed to make sure that the context is valid and even 
if it isn't that's not a recoverable error here.

Regards,
Christian.

>
> Signed-off-by: Wang Qing <wangqing@...o.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
> index 2c929fa..da114f7
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
> @@ -259,12 +259,13 @@ static void amdgpu_ctx_fini_entity(struct amdgpu_ctx_entity *entity)
>   static int amdgpu_ctx_get_stable_pstate(struct amdgpu_ctx *ctx,
>   					u32 *stable_pstate)
>   {
> -	struct amdgpu_device *adev = ctx->adev;
> +	struct amdgpu_device *adev;
>   	enum amd_dpm_forced_level current_level;
>   
>   	if (!ctx)
>   		return -EINVAL;
>   
> +	adev = ctx->adev;
>   	current_level = amdgpu_dpm_get_performance_level(adev);
>   
>   	switch (current_level) {
> @@ -290,13 +291,14 @@ static int amdgpu_ctx_get_stable_pstate(struct amdgpu_ctx *ctx,
>   static int amdgpu_ctx_set_stable_pstate(struct amdgpu_ctx *ctx,
>   					u32 stable_pstate)
>   {
> -	struct amdgpu_device *adev = ctx->adev;
> +	struct amdgpu_device *adev;
>   	enum amd_dpm_forced_level level;
>   	int r;
>   
>   	if (!ctx)
>   		return -EINVAL;
>   
> +	adev = ctx->adev;
>   	mutex_lock(&adev->pm.stable_pstate_ctx_lock);
>   	if (adev->pm.stable_pstate_ctx && adev->pm.stable_pstate_ctx != ctx) {
>   		r = -EBUSY;

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ