All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-next:master 5767/6121] drivers/gpu/drm/gud/gud_pipe.c:616 gud_plane_atomic_update() error: we previously assumed 'crtc' could be null (see line 597)
@ 2026-01-18 11:40 ` Dan Carpenter
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-01-14 13:22 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Dan Carpenter

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: Shenghao Yang <me@shenghaoyang.info>
CC: Ruben Wauters <rubenru09@aol.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   b775e489bec70895b7ef6b66927886bbac79598f
commit: dc2d5ddb193e363187bae2ad358245642d2721fb [5767/6121] drm/gud: fix NULL fb and crtc dereferences on USB disconnect
:::::: branch date: 8 hours ago
:::::: commit date: 23 hours ago
config: x86_64-randconfig-161-20260114 (https://download.01.org/0day-ci/archive/20260114/202601142159.0v8ilfVs-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
rustc: rustc 1.88.0 (6b00bc388 2025-06-23)
smatch version: v0.5.0-8985-g2614ff1a

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202601142159.0v8ilfVs-lkp@intel.com/

smatch warnings:
drivers/gpu/drm/gud/gud_pipe.c:616 gud_plane_atomic_update() error: we previously assumed 'crtc' could be null (see line 597)

vim +/crtc +616 drivers/gpu/drm/gud/gud_pipe.c

40e1a70b4aedf2 Noralf Trønnes 2021-03-13  582  
73cfd166e04576 Ruben Wauters  2025-08-18  583  void gud_plane_atomic_update(struct drm_plane *plane,
73cfd166e04576 Ruben Wauters  2025-08-18  584  			     struct drm_atomic_state *atomic_state)
40e1a70b4aedf2 Noralf Trønnes 2021-03-13  585  {
73cfd166e04576 Ruben Wauters  2025-08-18  586  	struct drm_device *drm = plane->dev;
40e1a70b4aedf2 Noralf Trønnes 2021-03-13  587  	struct gud_device *gdrm = to_gud_device(drm);
73cfd166e04576 Ruben Wauters  2025-08-18  588  	struct drm_plane_state *old_state = drm_atomic_get_old_plane_state(atomic_state, plane);
73cfd166e04576 Ruben Wauters  2025-08-18  589  	struct drm_plane_state *new_state = drm_atomic_get_new_plane_state(atomic_state, plane);
73cfd166e04576 Ruben Wauters  2025-08-18  590  	struct drm_shadow_plane_state *shadow_plane_state = to_drm_shadow_plane_state(new_state);
73cfd166e04576 Ruben Wauters  2025-08-18  591  	struct drm_framebuffer *fb = new_state->fb;
73cfd166e04576 Ruben Wauters  2025-08-18  592  	struct drm_crtc *crtc = new_state->crtc;
40e1a70b4aedf2 Noralf Trønnes 2021-03-13  593  	struct drm_rect damage;
73cfd166e04576 Ruben Wauters  2025-08-18  594  	struct drm_atomic_helper_damage_iter iter;
c17d048609bf09 Noralf Trønnes 2022-11-30  595  	int ret, idx;
40e1a70b4aedf2 Noralf Trønnes 2021-03-13  596  
dc2d5ddb193e36 Shenghao Yang  2025-12-31 @597  	if (!crtc || crtc->state->mode_changed || !crtc->state->enable) {
40e1a70b4aedf2 Noralf Trønnes 2021-03-13  598  		cancel_work_sync(&gdrm->work);
40e1a70b4aedf2 Noralf Trønnes 2021-03-13  599  		mutex_lock(&gdrm->damage_lock);
40e1a70b4aedf2 Noralf Trønnes 2021-03-13  600  		if (gdrm->fb) {
40e1a70b4aedf2 Noralf Trønnes 2021-03-13  601  			drm_framebuffer_put(gdrm->fb);
40e1a70b4aedf2 Noralf Trønnes 2021-03-13  602  			gdrm->fb = NULL;
40e1a70b4aedf2 Noralf Trønnes 2021-03-13  603  		}
40e1a70b4aedf2 Noralf Trønnes 2021-03-13  604  		gud_clear_damage(gdrm);
c17d048609bf09 Noralf Trønnes 2022-11-30  605  		vfree(gdrm->shadow_buf);
c17d048609bf09 Noralf Trønnes 2022-11-30  606  		gdrm->shadow_buf = NULL;
40e1a70b4aedf2 Noralf Trønnes 2021-03-13  607  		mutex_unlock(&gdrm->damage_lock);
40e1a70b4aedf2 Noralf Trønnes 2021-03-13  608  	}
40e1a70b4aedf2 Noralf Trønnes 2021-03-13  609  
40e1a70b4aedf2 Noralf Trønnes 2021-03-13  610  	if (!drm_dev_enter(drm, &idx))
40e1a70b4aedf2 Noralf Trønnes 2021-03-13  611  		return;
40e1a70b4aedf2 Noralf Trønnes 2021-03-13  612  
40e1a70b4aedf2 Noralf Trønnes 2021-03-13  613  	if (!old_state->fb)
40e1a70b4aedf2 Noralf Trønnes 2021-03-13  614  		gud_usb_set_u8(gdrm, GUD_REQ_SET_CONTROLLER_ENABLE, 1);
40e1a70b4aedf2 Noralf Trønnes 2021-03-13  615  
40e1a70b4aedf2 Noralf Trønnes 2021-03-13 @616  	if (fb && (crtc->state->mode_changed || crtc->state->connectors_changed))

:::::: The code at line 616 was first introduced by commit
:::::: 40e1a70b4aedf2859a1829991b48ef0ebe650bf2 drm: Add GUD USB Display driver

:::::: TO: Noralf Trønnes <noralf@tronnes.org>
:::::: CC: Noralf Trønnes <noralf@tronnes.org>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-01-18 11:40 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-14 13:22 [linux-next:master 5767/6121] drivers/gpu/drm/gud/gud_pipe.c:616 gud_plane_atomic_update() error: we previously assumed 'crtc' could be null (see line 597) kernel test robot
2026-01-18 11:40 ` Dan Carpenter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.