mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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®