Hi Jinjie, FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant. tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git staging-testing head: 4c5ba1d7a93e098aececbf93afbdd7add98ec6f3 commit: 4c5ba1d7a93e098aececbf93afbdd7add98ec6f3 [17/17] staging: vme_user: Use list_for_each_entry() helper config: x86_64-randconfig-161-20230913 (https://download.01.org/0day-ci/archive/20230914/202309140330.fgOxoRhE-lkp@xxxxxxxxx/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce: (https://download.01.org/0day-ci/archive/20230914/202309140330.fgOxoRhE-lkp@xxxxxxxxx/reproduce) 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@xxxxxxxxx> | Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> | Closes: https://lore.kernel.org/r/202309140330.fgOxoRhE-lkp@xxxxxxxxx/ smatch warnings: drivers/staging/vme_user/vme.c:296 vme_slave_request() error: we previously assumed 'slave_image' could be null (see line 297) drivers/staging/vme_user/vme.c:492 vme_master_request() error: we previously assumed 'master_image' could be null (see line 493) drivers/staging/vme_user/vme.c:866 vme_dma_request() error: we previously assumed 'dma_ctrlr' could be null (see line 867) drivers/staging/vme_user/vme.c:1460 vme_lm_request() error: we previously assumed 'lm' could be null (see line 1461) vim +/slave_image +296 drivers/staging/vme_user/vme.c 6af04b065b048e drivers/staging/vme/vme.c Martyn Welch 2011-12-01 281 struct vme_resource *vme_slave_request(struct vme_dev *vdev, u32 address, 6af04b065b048e drivers/staging/vme/vme.c Martyn Welch 2011-12-01 282 u32 cycle) a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 283 { a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 284 struct vme_bridge *bridge; a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 285 struct vme_slave_resource *allocated_image = NULL; a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 286 struct vme_slave_resource *slave_image = NULL; a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 287 struct vme_resource *resource = NULL; a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 288 8f966dc444b11a drivers/staging/vme/vme.c Manohar Vanga 2011-09-26 289 bridge = vdev->bridge; 61282c04984e40 drivers/vme/vme.c Markus Elfring 2017-08-24 290 if (!bridge) { a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 291 printk(KERN_ERR "Can't find VME bus\n"); a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 292 goto err_bus; a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 293 } a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 294 a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 295 /* Loop through slave resources */ 4c5ba1d7a93e09 drivers/staging/vme_user/vme.c Jinjie Ruan 2023-08-23 @296 list_for_each_entry(slave_image, &bridge->slave_resources, list) { ^^^^^^^^^^^ This is the iterator. 61282c04984e40 drivers/vme/vme.c Markus Elfring 2017-08-24 @297 if (!slave_image) { And list iterators are never NULL. Please remove this if statement. ead1f3e301e2d8 drivers/staging/vme/vme.c Martyn Welch 2009-12-15 298 printk(KERN_ERR "Registered NULL Slave resource\n"); a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 299 continue; a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 300 } a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 301 a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 302 /* Find an unlocked and compatible image */ 886953e9b70bcb drivers/staging/vme/vme.c Emilio G. Cota 2010-11-12 303 mutex_lock(&slave_image->mtx); a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 304 if (((slave_image->address_attr & address) == address) && a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 305 ((slave_image->cycle_attr & cycle) == cycle) && a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 306 (slave_image->locked == 0)) { a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 307 slave_image->locked = 1; 886953e9b70bcb drivers/staging/vme/vme.c Emilio G. Cota 2010-11-12 308 mutex_unlock(&slave_image->mtx); a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 309 allocated_image = slave_image; a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 310 break; a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 311 } 886953e9b70bcb drivers/staging/vme/vme.c Emilio G. Cota 2010-11-12 312 mutex_unlock(&slave_image->mtx); a17a75e2666f71 drivers/staging/vme/vme.c Martyn Welch 2009-07-31 313 } -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel