CC: [email protected]
CC: Linux Memory Management List <[email protected]>
TO: Zhou Qingyang <[email protected]>
CC: Alex Deucher <[email protected]>
CC: "Christian König" <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   bcd5ddb85fad453da26afd5b3fca8ad931b5253d
commit: ab50cb9df8896b39aae65c537a30de2c79c19735 [4045/6644] 
drm/radeon/radeon_kms: Fix a NULL pointer dereference in 
radeon_driver_open_kms()
:::::: branch date: 18 hours ago
:::::: commit date: 12 days ago
config: microblaze-randconfig-m031-20211214 
(https://download.01.org/0day-ci/archive/20211215/[email protected]/config)
compiler: microblaze-linux-gcc (GCC) 11.2.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]>

New smatch warnings:
drivers/gpu/drm/radeon/radeon_kms.c:705 radeon_driver_open_kms() error: 
uninitialized symbol 'vm'.
drivers/gpu/drm/radeon/radeon_kms.c:707 radeon_driver_open_kms() error: 
uninitialized symbol 'fpriv'.

Old smatch warnings:
arch/microblaze/include/asm/thread_info.h:91 current_thread_info() error: 
uninitialized symbol 'sp'.

vim +/vm +705 drivers/gpu/drm/radeon/radeon_kms.c

771fe6b912fca5 Jerome Glisse   2009-06-05  638  
f482a1419545de Alex Deucher    2012-07-17  639  /**
f482a1419545de Alex Deucher    2012-07-17  640   * radeon_driver_open_kms - drm 
callback for open
f482a1419545de Alex Deucher    2012-07-17  641   *
f482a1419545de Alex Deucher    2012-07-17  642   * @dev: drm dev pointer
f482a1419545de Alex Deucher    2012-07-17  643   * @file_priv: drm file
f482a1419545de Alex Deucher    2012-07-17  644   *
f482a1419545de Alex Deucher    2012-07-17  645   * On device open, init vm on 
cayman+ (all asics).
f482a1419545de Alex Deucher    2012-07-17  646   * Returns 0 on success, error 
on failure.
f482a1419545de Alex Deucher    2012-07-17  647   */
771fe6b912fca5 Jerome Glisse   2009-06-05  648  int 
radeon_driver_open_kms(struct drm_device *dev, struct drm_file *file_priv)
771fe6b912fca5 Jerome Glisse   2009-06-05  649  {
721604a15b934f Jerome Glisse   2012-01-05  650          struct radeon_device 
*rdev = dev->dev_private;
ab50cb9df8896b Zhou Qingyang   2021-12-01  651          struct radeon_fpriv 
*fpriv;
ab50cb9df8896b Zhou Qingyang   2021-12-01  652          struct radeon_vm *vm;
10ebc0bc09344a Dave Airlie     2012-09-17  653          int r;
721604a15b934f Jerome Glisse   2012-01-05  654  
721604a15b934f Jerome Glisse   2012-01-05  655          file_priv->driver_priv 
= NULL;
721604a15b934f Jerome Glisse   2012-01-05  656  
10ebc0bc09344a Dave Airlie     2012-09-17  657          r = 
pm_runtime_get_sync(dev->dev);
9fb10671011143 Aditya Pakki    2020-06-13  658          if (r < 0) {
9fb10671011143 Aditya Pakki    2020-06-13  659                  
pm_runtime_put_autosuspend(dev->dev);
10ebc0bc09344a Dave Airlie     2012-09-17  660                  return r;
9fb10671011143 Aditya Pakki    2020-06-13  661          }
10ebc0bc09344a Dave Airlie     2012-09-17  662  
721604a15b934f Jerome Glisse   2012-01-05  663          /* new gpu have virtual 
address space support */
721604a15b934f Jerome Glisse   2012-01-05  664          if (rdev->family >= 
CHIP_CAYMAN) {
721604a15b934f Jerome Glisse   2012-01-05  665  
721604a15b934f Jerome Glisse   2012-01-05  666                  fpriv = 
kzalloc(sizeof(*fpriv), GFP_KERNEL);
721604a15b934f Jerome Glisse   2012-01-05  667                  if 
(unlikely(!fpriv)) {
32c59dc14b7280 Alex Deucher    2016-08-31  668                          r = 
-ENOMEM;
32c59dc14b7280 Alex Deucher    2016-08-31  669                          goto 
out_suspend;
721604a15b934f Jerome Glisse   2012-01-05  670                  }
721604a15b934f Jerome Glisse   2012-01-05  671  
544143f9e01a60 Alex Deucher    2015-01-28  672                  if 
(rdev->accel_working) {
cc9e67e3d7000c Christian König 2014-07-18  673                          vm = 
&fpriv->vm;
cc9e67e3d7000c Christian König 2014-07-18  674                          r = 
radeon_vm_init(rdev, vm);
ab50cb9df8896b Zhou Qingyang   2021-12-01  675                          if (r)
ab50cb9df8896b Zhou Qingyang   2021-12-01  676                                  
goto out_fpriv;
d72d43cfc5847c Christian König 2012-10-09  677  
f1e3dc708aaadb Christian König 2014-02-20  678                          r = 
radeon_bo_reserve(rdev->ring_tmp_bo.bo, false);
ab50cb9df8896b Zhou Qingyang   2021-12-01  679                          if (r)
ab50cb9df8896b Zhou Qingyang   2021-12-01  680                                  
goto out_vm_fini;
f1e3dc708aaadb Christian König 2014-02-20  681  
d72d43cfc5847c Christian König 2012-10-09  682                          /* map 
the ib pool buffer read only into
d72d43cfc5847c Christian König 2012-10-09  683                           * 
virtual address space */
cc9e67e3d7000c Christian König 2014-07-18  684                          
vm->ib_bo_va = radeon_vm_bo_add(rdev, vm,
d72d43cfc5847c Christian König 2012-10-09  685                                  
                        rdev->ring_tmp_bo.bo);
ab50cb9df8896b Zhou Qingyang   2021-12-01  686                          if 
(!vm->ib_bo_va) {
ab50cb9df8896b Zhou Qingyang   2021-12-01  687                                  
r = -ENOMEM;
ab50cb9df8896b Zhou Qingyang   2021-12-01  688                                  
goto out_vm_fini;
ab50cb9df8896b Zhou Qingyang   2021-12-01  689                          }
ab50cb9df8896b Zhou Qingyang   2021-12-01  690  
cc9e67e3d7000c Christian König 2014-07-18  691                          r = 
radeon_vm_bo_set_addr(rdev, vm->ib_bo_va,
cc9e67e3d7000c Christian König 2014-07-18  692                                  
                  RADEON_VA_IB_OFFSET,
d72d43cfc5847c Christian König 2012-10-09  693                                  
                  RADEON_VM_PAGE_READABLE |
d72d43cfc5847c Christian König 2012-10-09  694                                  
                  RADEON_VM_PAGE_SNOOPED);
ab50cb9df8896b Zhou Qingyang   2021-12-01  695                          if (r)
ab50cb9df8896b Zhou Qingyang   2021-12-01  696                                  
goto out_vm_fini;
24f47acc78b0ab Jérôme Glisse   2014-05-07  697                  }
721604a15b934f Jerome Glisse   2012-01-05  698                  
file_priv->driver_priv = fpriv;
721604a15b934f Jerome Glisse   2012-01-05  699          }
10ebc0bc09344a Dave Airlie     2012-09-17  700  
ab50cb9df8896b Zhou Qingyang   2021-12-01  701          if (!r)
ab50cb9df8896b Zhou Qingyang   2021-12-01  702                  goto 
out_suspend;
ab50cb9df8896b Zhou Qingyang   2021-12-01  703  
ab50cb9df8896b Zhou Qingyang   2021-12-01  704  out_vm_fini:
ab50cb9df8896b Zhou Qingyang   2021-12-01 @705          radeon_vm_fini(rdev, 
vm);
ab50cb9df8896b Zhou Qingyang   2021-12-01  706  out_fpriv:
ab50cb9df8896b Zhou Qingyang   2021-12-01 @707          kfree(fpriv);
32c59dc14b7280 Alex Deucher    2016-08-31  708  out_suspend:
10ebc0bc09344a Dave Airlie     2012-09-17  709          
pm_runtime_mark_last_busy(dev->dev);
10ebc0bc09344a Dave Airlie     2012-09-17  710          
pm_runtime_put_autosuspend(dev->dev);
32c59dc14b7280 Alex Deucher    2016-08-31  711          return r;
771fe6b912fca5 Jerome Glisse   2009-06-05  712  }
771fe6b912fca5 Jerome Glisse   2009-06-05  713  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to