[Intel-gfx] [PATCH 4/5] Critical-KlockWork-Fix-intel_tv.c-Possible-Null
Dan Carpenter
dan.carpenter at oracle.com
Tue Aug 25 09:31:53 UTC 2020
Hi Nischal,
Thank you for the patch! Perhaps something to improve:
url: https://github.com/0day-ci/linux/commits/Nischal-Varide/Critical-KclockWork-Fixes-intel_atomi-c-PossibleNull/20200819-193249
base: git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-randconfig-m021-20200824 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>
Reported-by: Dan Carpenter <dan.carpenter at oracle.com>
smatch warnings:
drivers/gpu/drm/i915/display/intel_tv.c:1842 intel_tv_atomic_check() warn: variable dereferenced before check 'new_state' (see line 1840)
# https://github.com/0day-ci/linux/commit/6fb528c1b424d3c8095085afa7e777ac5502450b
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Nischal-Varide/Critical-KclockWork-Fixes-intel_atomi-c-PossibleNull/20200819-193249
git checkout 6fb528c1b424d3c8095085afa7e777ac5502450b
vim +/new_state +1842 drivers/gpu/drm/i915/display/intel_tv.c
0e891b3f447f4d drivers/gpu/drm/i915/intel_tv.c Maarten Lankhorst 2017-04-10 1831 static int intel_tv_atomic_check(struct drm_connector *connector,
6f3b62781bbd26 drivers/gpu/drm/i915/intel_tv.c Sean Paul 2019-06-11 1832 struct drm_atomic_state *state)
0e891b3f447f4d drivers/gpu/drm/i915/intel_tv.c Maarten Lankhorst 2017-04-10 1833 {
6f3b62781bbd26 drivers/gpu/drm/i915/intel_tv.c Sean Paul 2019-06-11 1834 struct drm_connector_state *new_state;
0e891b3f447f4d drivers/gpu/drm/i915/intel_tv.c Maarten Lankhorst 2017-04-10 1835 struct drm_crtc_state *new_crtc_state;
0e891b3f447f4d drivers/gpu/drm/i915/intel_tv.c Maarten Lankhorst 2017-04-10 1836 struct drm_connector_state *old_state;
0e891b3f447f4d drivers/gpu/drm/i915/intel_tv.c Maarten Lankhorst 2017-04-10 1837
6f3b62781bbd26 drivers/gpu/drm/i915/intel_tv.c Sean Paul 2019-06-11 1838 new_state = drm_atomic_get_new_connector_state(state, connector);
6f3b62781bbd26 drivers/gpu/drm/i915/intel_tv.c Sean Paul 2019-06-11 1839 old_state = drm_atomic_get_old_connector_state(state, connector);
6f3b62781bbd26 drivers/gpu/drm/i915/intel_tv.c Sean Paul 2019-06-11 @1840 new_crtc_state = drm_atomic_get_new_crtc_state(state, new_state->crtc);
^^^^^^^^^^^^^^^
Dereference
0e891b3f447f4d drivers/gpu/drm/i915/intel_tv.c Maarten Lankhorst 2017-04-10 1841
6fb528c1b424d3 drivers/gpu/drm/i915/display/intel_tv.c Nischal Varide 2020-08-19 @1842 if (!(old_state && new_state && new_crtc_state))
^^^^^^^^^
Checked too late
6fb528c1b424d3 drivers/gpu/drm/i915/display/intel_tv.c Nischal Varide 2020-08-19 1843 return 0;
6fb528c1b424d3 drivers/gpu/drm/i915/display/intel_tv.c Nischal Varide 2020-08-19 1844
6fb528c1b424d3 drivers/gpu/drm/i915/display/intel_tv.c Nischal Varide 2020-08-19 1845 if (!new_state->crtc)
6fb528c1b424d3 drivers/gpu/drm/i915/display/intel_tv.c Nischal Varide 2020-08-19 1846 return 0;
6fb528c1b424d3 drivers/gpu/drm/i915/display/intel_tv.c Nischal Varide 2020-08-19 1847
0e891b3f447f4d drivers/gpu/drm/i915/intel_tv.c Maarten Lankhorst 2017-04-10 1848 if (old_state->tv.mode != new_state->tv.mode ||
0e891b3f447f4d drivers/gpu/drm/i915/intel_tv.c Maarten Lankhorst 2017-04-10 1849 old_state->tv.margins.left != new_state->tv.margins.left ||
0e891b3f447f4d drivers/gpu/drm/i915/intel_tv.c Maarten Lankhorst 2017-04-10 1850 old_state->tv.margins.right != new_state->tv.margins.right ||
0e891b3f447f4d drivers/gpu/drm/i915/intel_tv.c Maarten Lankhorst 2017-04-10 1851 old_state->tv.margins.top != new_state->tv.margins.top ||
0e891b3f447f4d drivers/gpu/drm/i915/intel_tv.c Maarten Lankhorst 2017-04-10 1852 old_state->tv.margins.bottom != new_state->tv.margins.bottom) {
0e891b3f447f4d drivers/gpu/drm/i915/intel_tv.c Maarten Lankhorst 2017-04-10 1853 /* Force a modeset. */
0e891b3f447f4d drivers/gpu/drm/i915/intel_tv.c Maarten Lankhorst 2017-04-10 1854
0e891b3f447f4d drivers/gpu/drm/i915/intel_tv.c Maarten Lankhorst 2017-04-10 1855 new_crtc_state->connectors_changed = true;
0e891b3f447f4d drivers/gpu/drm/i915/intel_tv.c Maarten Lankhorst 2017-04-10 1856 }
0e891b3f447f4d drivers/gpu/drm/i915/intel_tv.c Maarten Lankhorst 2017-04-10 1857
0e891b3f447f4d drivers/gpu/drm/i915/intel_tv.c Maarten Lankhorst 2017-04-10 1858 return 0;
0e891b3f447f4d drivers/gpu/drm/i915/intel_tv.c Maarten Lankhorst 2017-04-10 1859 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 40662 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20200825/2463c914/attachment-0001.gz>
More information about the Intel-gfx
mailing list