Message ID | 1636963819-19726-1-git-send-email-yang.lee@linux.alibaba.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [-next] drm/amd/display: check top_pipe_to_program pointer | expand |
Applied. Thanks! On Mon, Nov 15, 2021 at 3:10 AM Yang Li <yang.lee@linux.alibaba.com> wrote: > > Clang static analysis reports this error > > drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c:2870:7: warning: > Dereference of null pointer [clang-analyzer-core.NullDereference] > if > (top_pipe_to_program->stream_res.tg->funcs->lock_doublebuffer_enable) { > ^ > > top_pipe_to_program being NULL is caught as an error > But then it is used to report the error. > > So add a check before using it. > > Reported-by: Abaci Robot <abaci@linux.alibaba.com> > Signed-off-by: Yang Li <yang.lee@linux.alibaba.com> > --- > drivers/gpu/drm/amd/display/dc/core/dc.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c > index 39ad385..34382d0 100644 > --- a/drivers/gpu/drm/amd/display/dc/core/dc.c > +++ b/drivers/gpu/drm/amd/display/dc/core/dc.c > @@ -2867,7 +2867,8 @@ static void commit_planes_for_stream(struct dc *dc, > #endif > > if ((update_type != UPDATE_TYPE_FAST) && stream->update_flags.bits.dsc_changed) > - if (top_pipe_to_program->stream_res.tg->funcs->lock_doublebuffer_enable) { > + if (top_pipe_to_program && > + top_pipe_to_program->stream_res.tg->funcs->lock_doublebuffer_enable) { > if (should_use_dmub_lock(stream->link)) { > union dmub_hw_lock_flags hw_locks = { 0 }; > struct dmub_hw_lock_inst_flags inst_flags = { 0 }; > -- > 1.8.3.1 >
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c index 39ad385..34382d0 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc.c @@ -2867,7 +2867,8 @@ static void commit_planes_for_stream(struct dc *dc, #endif if ((update_type != UPDATE_TYPE_FAST) && stream->update_flags.bits.dsc_changed) - if (top_pipe_to_program->stream_res.tg->funcs->lock_doublebuffer_enable) { + if (top_pipe_to_program && + top_pipe_to_program->stream_res.tg->funcs->lock_doublebuffer_enable) { if (should_use_dmub_lock(stream->link)) { union dmub_hw_lock_flags hw_locks = { 0 }; struct dmub_hw_lock_inst_flags inst_flags = { 0 };
Clang static analysis reports this error drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c:2870:7: warning: Dereference of null pointer [clang-analyzer-core.NullDereference] if (top_pipe_to_program->stream_res.tg->funcs->lock_doublebuffer_enable) { ^ top_pipe_to_program being NULL is caught as an error But then it is used to report the error. So add a check before using it. Reported-by: Abaci Robot <abaci@linux.alibaba.com> Signed-off-by: Yang Li <yang.lee@linux.alibaba.com> --- drivers/gpu/drm/amd/display/dc/core/dc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)