CC: [email protected] BCC: [email protected] CC: Linux Memory Management List <[email protected]> TO: Abhinav Kumar <[email protected]> CC: Dmitry Baryshkov <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 38a288f5941ef03752887ad86f2d85442358c99a commit: d7d0e73f7de33a2b9998b607707a3e944ef3b86d [7596/9759] drm/msm/dpu: introduce the dpu_encoder_phys_* for writeback :::::: branch date: 3 days ago :::::: commit date: 7 days ago config: ia64-randconfig-m031-20220508 (https://download.01.org/0day-ci/archive/20220509/[email protected]/config) compiler: ia64-linux-gcc (GCC) 11.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> 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'. 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) vim +/mode +252 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 237 d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 238 /** d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 239 * dpu_encoder_phys_wb_atomic_check - verify and fixup given atomic states d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 240 * @phys_enc: Pointer to physical encoder d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 241 * @crtc_state: Pointer to CRTC atomic state d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 242 * @conn_state: Pointer to connector atomic state d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 243 */ d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 244 static int dpu_encoder_phys_wb_atomic_check( d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 245 struct dpu_encoder_phys *phys_enc, d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 246 struct drm_crtc_state *crtc_state, d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 247 struct drm_connector_state *conn_state) d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 248 { d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 249 struct drm_framebuffer *fb; d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 250 const struct drm_display_mode *mode; d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 251 d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 @252 DPU_DEBUG("[atomic_check:%d, \"%s\",%d,%d]\n", d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 253 phys_enc->wb_idx, mode->name, mode->hdisplay, mode->vdisplay); d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 254 d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 @255 if (!conn_state->writeback_job || !conn_state->writeback_job->fb) d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 256 return 0; d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 257 d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 258 fb = conn_state->writeback_job->fb; d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 259 mode = &crtc_state->mode; d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 260 d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 @261 if (!conn_state || !conn_state->connector) { d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 262 DPU_ERROR("invalid connector state\n"); d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 263 return -EINVAL; d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 264 } else if (conn_state->connector->status != d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 265 connector_status_connected) { d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 266 DPU_ERROR("connector not connected %d\n", d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 267 conn_state->connector->status); d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 268 return -EINVAL; d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 269 } d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 270 d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 271 DPU_DEBUG("[fb_id:%u][fb:%u,%u]\n", fb->base.id, d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 272 fb->width, fb->height); d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 273 d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 274 if (fb->width != mode->hdisplay) { d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 275 DPU_ERROR("invalid fb w=%d, mode w=%d\n", fb->width, d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 276 mode->hdisplay); d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 277 return -EINVAL; d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 278 } else if (fb->height != mode->vdisplay) { d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 279 DPU_ERROR("invalid fb h=%d, mode h=%d\n", fb->height, d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 280 mode->vdisplay); d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 281 return -EINVAL; d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 282 } else if (fb->width > DEFAULT_MAX_WRITEBACK_WIDTH) { d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 283 DPU_ERROR("invalid fb w=%d, maxlinewidth=%u\n", d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 284 fb->width, DEFAULT_MAX_WRITEBACK_WIDTH); d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 285 return -EINVAL; d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 286 } d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 287 d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 288 return 0; d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 289 } d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 290 -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
