This test was reversed so it would end up leading to a NULL dereference.
Fixes: 4630f0faae80 ('drm/amd/powerplay: add Carrizo smu support') Signed-off-by: Dan Carpenter dan.carpenter@oracle.com
diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c b/drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c index e74023b..873a8d2 100644 --- a/drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c +++ b/drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c @@ -818,7 +818,7 @@ static int cz_smu_fini(struct pp_smumgr *smumgr) return -EINVAL;
cz_smu = (struct cz_smumgr *)smumgr->backend; - if (!cz_smu) { + if (cz_smu) { cgs_free_gpu_mem(smumgr->device, cz_smu->toc_buffer.handle); cgs_free_gpu_mem(smumgr->device,
On Mon, Jan 4, 2016 at 3:42 PM, Dan Carpenter dan.carpenter@oracle.com wrote:
This test was reversed so it would end up leading to a NULL dereference.
Fixes: 4630f0faae80 ('drm/amd/powerplay: add Carrizo smu support') Signed-off-by: Dan Carpenter dan.carpenter@oracle.com
Applied. thanks!
Alex
diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c b/drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c index e74023b..873a8d2 100644 --- a/drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c +++ b/drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c @@ -818,7 +818,7 @@ static int cz_smu_fini(struct pp_smumgr *smumgr) return -EINVAL;
cz_smu = (struct cz_smumgr *)smumgr->backend;
if (!cz_smu) {
if (cz_smu) { cgs_free_gpu_mem(smumgr->device, cz_smu->toc_buffer.handle); cgs_free_gpu_mem(smumgr->device,
dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
This test was reversed so it would end up leading to a NULL dereference.
Fixes: 4630f0faae80 ('drm/amd/powerplay: add Carrizo smu support') Signed-off-by: Dan Carpenter dan.carpenter@oracle.com
diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c b/drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c index e74023b..873a8d2 100644 --- a/drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c +++ b/drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c @@ -818,7 +818,7 @@ static int cz_smu_fini(struct pp_smumgr *smumgr) return -EINVAL;
cz_smu = (struct cz_smumgr *)smumgr->backend;
- if (!cz_smu) {
- if (cz_smu) { cgs_free_gpu_mem(smumgr->device, cz_smu->toc_buffer.handle); cgs_free_gpu_mem(smumgr->device,
Was this issue found by an automatic static source code analysis of a tool like "Smatch"? https://blogs.oracle.com/linuxkernel/entry/smatch_static_analysis_tool_overv... http://smatch.sourceforge.net/
Would it be useful to detect similar update candidates by the reuse of scripts for the semantic patch language? How do you think about to get additional help and support from a software like Coccinelle for such search patterns?
Regards, Markus
Yes. This was a Smatch warning but Coccinelle can also find this kinds of inconsistent NULL checking.
regards, dan carpenter
Yes. This was a Smatch warning
Thanks for this acknowledgement.
How do you think about to indicate such a detail more often in your update suggestions and bug reports?
Would it make sense to mark contributions from automatic static source code analysis by a dedicated tag in the commit message?
but Coccinelle can also find this kinds of inconsistent NULL checking.
Should we try together to extend the script collection for the semantic patch language around such use cases?
Regards, Markus
dri-devel@lists.freedesktop.org