lkml.org 
[lkml]   [2020]   [Apr]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe:Re: [PATCH] drm/radeon: cleanup coding style a bit
From
Date


发件人:Joe Perches <joe@perches.com>
发送日期:2020-04-27 01:53:06
收件人:"Christian König" <christian.koenig@amd.com>,Bernard Zhao <bernard@vivo.com>,Alex Deucher <alexander.deucher@amd.com>,"David (ChunMing) Zhou" <David1.Zhou@amd.com>,David Airlie <airlied@linux.ie>,Daniel Vetter <daniel@ffwll.ch>,amd-gfx@lists.freedesktop.org,dri-devel@lists.freedesktop.org,linux-kernel@vger.kernel.org
抄送人:opensource.kernel@vivo.com
主题:Re: [PATCH] drm/radeon: cleanup coding style a bit>On Sun, 2020-04-26 at 15:18 +0200, Christian König wrote:
>> Am 26.04.20 um 15:12 schrieb Bernard Zhao:
>> > Maybe no need to check ws before kmalloc, kmalloc will check
>> > itself, kmalloc`s logic is if ptr is NULL, kmalloc will just
>> > return
>> >
>> > Signed-off-by: Bernard Zhao <bernard@vivo.com>
>>
>> Reviewed-by: Christian König <christian.koenig@amd.com>
>>
>> I'm wondering why the automated scripts haven't found that one before.
>
>because this pattern is
>
> if (foo)
> kfree(bar);
>
>and the pattern looked for is:
>
> if (foo)
> kfree(foo);
>
>> > diff --git a/drivers/gpu/drm/radeon/atom.c b/drivers/gpu/drm/radeon/atom.c
>[]
>> > @@ -1211,8 +1211,7 @@ static int atom_execute_table_locked(struct atom_context *ctx, int index, uint32
>> > SDEBUG("<<\n");
>> >
>> > free:
>> > - if (ws)
>> > - kfree(ectx.ws);
>> > + kfree(ectx.ws);
>> > return ret;
>> > }
>
>I'm wondering if this removal is correct as the function
>is named _locked and it may be recursive or called under
>some external lock.
>
Hi
I am a little confused about this. I understand that the caller guarantees the lock protection
that we will not release the wrong pointer. And the NULL check is the same with the first check in kfree?
Maybe we do not need check twich.

Regards,
Bernard



\
 
 \ /
  Last update: 2020-04-30 13:01    [W:0.112 / U:0.088 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site