[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202205040556.P3wNmO1e-lkp@intel.com>
Date: Wed, 4 May 2022 11:56:47 +0300
From: Dan Carpenter <dan.carpenter@...cle.com>
To: kbuild@...ts.01.org,
Raphael Gallais-Pou <raphael.gallais-pou@...s.st.com>
Cc: lkp@...el.com, kbuild-all@...ts.01.org,
linux-kernel@...r.kernel.org,
Philippe Cornu <philippe.cornu@...s.st.com>
Subject: drivers/gpu/drm/stm/ltdc.c:1124 ltdc_crtc_set_crc_source() warn:
variable dereferenced before check 'crtc' (see line 1119)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: ef8e4d3c2ab1f47f63b6c7e578266b7e5cc9cd1b
commit: 79b44684a14e363d24c299b772f037344ad8c8dc drm/stm: ltdc: add support for CRC hashing feature
config: arm-randconfig-m031-20220427 (https://download.01.org/0day-ci/archive/20220504/202205040556.P3wNmO1e-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>
Reported-by: Dan Carpenter <dan.carpenter@...cle.com>
New smatch warnings:
drivers/gpu/drm/stm/ltdc.c:1124 ltdc_crtc_set_crc_source() warn: variable dereferenced before check 'crtc' (see line 1119)
Old smatch warnings:
drivers/gpu/drm/stm/ltdc.c:911 ltdc_crtc_mode_set_nofb() warn: pm_runtime_get_sync() also returns 1 on success
vim +/crtc +1124 drivers/gpu/drm/stm/ltdc.c
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 1117 static int ltdc_crtc_set_crc_source(struct drm_crtc *crtc, const char *source)
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 1118 {
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 @1119 struct ltdc_device *ldev = crtc_to_ltdc(crtc);
^^^^^^^^^^^^^^^^^^^
Dereferenced inside function
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 1120 int ret;
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 1121
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 1122 DRM_DEBUG_DRIVER("\n");
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 1123
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 @1124 if (!crtc)
^^^^^
Checked too late
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 1125 return -ENODEV;
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 1126
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 1127 if (source && strcmp(source, "auto") == 0) {
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 1128 ldev->crc_active = true;
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 1129 ret = regmap_set_bits(ldev->regmap, LTDC_GCR, GCR_CRCEN);
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 1130 } else if (!source) {
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 1131 ldev->crc_active = false;
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 1132 ret = regmap_clear_bits(ldev->regmap, LTDC_GCR, GCR_CRCEN);
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 1133 } else {
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 1134 ret = -EINVAL;
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 1135 }
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 1136
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 1137 ldev->crc_skip_count = 0;
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 1138 return ret;
79b44684a14e36 Raphael Gallais-Pou 2022-02-11 1139 }
--
0-DAY CI Kernel Test Service
https://01.org/lkp
Powered by blists - more mailing lists