From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org, Abhinav Kumar <quic_abhinavk@quicinc.com>
Cc: lkp@intel.com, kbuild-all@lists.01.org,
linux-kernel@vger.kernel.org,
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Subject: drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c:261 dpu_encoder_phys_wb_atomic_check() warn: variable dereferenced before check 'conn_state' (see line 255)
Date: Mon, 20 Jun 2022 12:00:16 +0300 [thread overview]
Message-ID: <202206190637.iURVxsik-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 4b35035bcf80ddb47c0112c4fbd84a63a2836a18
commit: d7d0e73f7de33a2b9998b607707a3e944ef3b86d drm/msm/dpu: introduce the dpu_encoder_phys_* for writeback
config: ia64-randconfig-m031-20220616 (https://download.01.org/0day-ci/archive/20220619/202206190637.iURVxsik-lkp@intel.com/config)
compiler: ia64-linux-gcc (GCC) 11.3.0
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c:261 dpu_encoder_phys_wb_atomic_check() warn: variable dereferenced before check 'conn_state' (see line 255)
Old smatch warnings:
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c:252 dpu_encoder_phys_wb_atomic_check() error: potentially dereferencing uninitialized 'mode'.
vim +/conn_state +261 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c
d7d0e73f7de33a Abhinav Kumar 2022-04-26 244 static int dpu_encoder_phys_wb_atomic_check(
d7d0e73f7de33a Abhinav Kumar 2022-04-26 245 struct dpu_encoder_phys *phys_enc,
d7d0e73f7de33a Abhinav Kumar 2022-04-26 246 struct drm_crtc_state *crtc_state,
d7d0e73f7de33a Abhinav Kumar 2022-04-26 247 struct drm_connector_state *conn_state)
d7d0e73f7de33a Abhinav Kumar 2022-04-26 248 {
d7d0e73f7de33a Abhinav Kumar 2022-04-26 249 struct drm_framebuffer *fb;
d7d0e73f7de33a Abhinav Kumar 2022-04-26 250 const struct drm_display_mode *mode;
d7d0e73f7de33a Abhinav Kumar 2022-04-26 251
d7d0e73f7de33a Abhinav Kumar 2022-04-26 252 DPU_DEBUG("[atomic_check:%d, \"%s\",%d,%d]\n",
d7d0e73f7de33a Abhinav Kumar 2022-04-26 253 phys_enc->wb_idx, mode->name, mode->hdisplay, mode->vdisplay);
d7d0e73f7de33a Abhinav Kumar 2022-04-26 254
d7d0e73f7de33a Abhinav Kumar 2022-04-26 @255 if (!conn_state->writeback_job || !conn_state->writeback_job->fb)
^^^^^^^^^^^^ ^^^^^^^^^^^^
Dereferences
d7d0e73f7de33a Abhinav Kumar 2022-04-26 256 return 0;
d7d0e73f7de33a Abhinav Kumar 2022-04-26 257
d7d0e73f7de33a Abhinav Kumar 2022-04-26 258 fb = conn_state->writeback_job->fb;
d7d0e73f7de33a Abhinav Kumar 2022-04-26 259 mode = &crtc_state->mode;
d7d0e73f7de33a Abhinav Kumar 2022-04-26 260
d7d0e73f7de33a Abhinav Kumar 2022-04-26 @261 if (!conn_state || !conn_state->connector) {
^^^^^^^^^^^
Checked too late
d7d0e73f7de33a Abhinav Kumar 2022-04-26 262 DPU_ERROR("invalid connector state\n");
d7d0e73f7de33a Abhinav Kumar 2022-04-26 263 return -EINVAL;
d7d0e73f7de33a Abhinav Kumar 2022-04-26 264 } else if (conn_state->connector->status !=
d7d0e73f7de33a Abhinav Kumar 2022-04-26 265 connector_status_connected) {
d7d0e73f7de33a Abhinav Kumar 2022-04-26 266 DPU_ERROR("connector not connected %d\n",
d7d0e73f7de33a Abhinav Kumar 2022-04-26 267 conn_state->connector->status);
d7d0e73f7de33a Abhinav Kumar 2022-04-26 268 return -EINVAL;
d7d0e73f7de33a Abhinav Kumar 2022-04-26 269 }
d7d0e73f7de33a Abhinav Kumar 2022-04-26 270
d7d0e73f7de33a Abhinav Kumar 2022-04-26 271 DPU_DEBUG("[fb_id:%u][fb:%u,%u]\n", fb->base.id,
d7d0e73f7de33a Abhinav Kumar 2022-04-26 272 fb->width, fb->height);
d7d0e73f7de33a Abhinav Kumar 2022-04-26 273
d7d0e73f7de33a Abhinav Kumar 2022-04-26 274 if (fb->width != mode->hdisplay) {
d7d0e73f7de33a Abhinav Kumar 2022-04-26 275 DPU_ERROR("invalid fb w=%d, mode w=%d\n", fb->width,
d7d0e73f7de33a Abhinav Kumar 2022-04-26 276 mode->hdisplay);
d7d0e73f7de33a Abhinav Kumar 2022-04-26 277 return -EINVAL;
d7d0e73f7de33a Abhinav Kumar 2022-04-26 278 } else if (fb->height != mode->vdisplay) {
d7d0e73f7de33a Abhinav Kumar 2022-04-26 279 DPU_ERROR("invalid fb h=%d, mode h=%d\n", fb->height,
d7d0e73f7de33a Abhinav Kumar 2022-04-26 280 mode->vdisplay);
d7d0e73f7de33a Abhinav Kumar 2022-04-26 281 return -EINVAL;
d7d0e73f7de33a Abhinav Kumar 2022-04-26 282 } else if (fb->width > DEFAULT_MAX_WRITEBACK_WIDTH) {
d7d0e73f7de33a Abhinav Kumar 2022-04-26 283 DPU_ERROR("invalid fb w=%d, maxlinewidth=%u\n",
d7d0e73f7de33a Abhinav Kumar 2022-04-26 284 fb->width, DEFAULT_MAX_WRITEBACK_WIDTH);
d7d0e73f7de33a Abhinav Kumar 2022-04-26 285 return -EINVAL;
d7d0e73f7de33a Abhinav Kumar 2022-04-26 286 }
d7d0e73f7de33a Abhinav Kumar 2022-04-26 287
d7d0e73f7de33a Abhinav Kumar 2022-04-26 288 return 0;
d7d0e73f7de33a Abhinav Kumar 2022-04-26 289 }
--
0-DAY CI Kernel Test Service
https://01.org/lkp
reply other threads:[~2022-06-20 9:00 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202206190637.iURVxsik-lkp@intel.com \
--to=dan.carpenter@oracle.com \
--cc=dmitry.baryshkov@linaro.org \
--cc=kbuild-all@lists.01.org \
--cc=kbuild@lists.01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
--cc=quic_abhinavk@quicinc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®