Hi Dmitry, url: https://github.com/intel-lab-lkp/linux/commits/Dmitry-Osipenko/Add-generic-memory-shrinker-to-VirtIO-GPU-and-Panfrost-DRM-drivers/20220527-075717 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git cdeffe87f790dfd1baa193020411ce9a538446d7 config: i386-randconfig-m021 (https://download.01.org/0day-ci/archive/20220527/202205272155.MxDiru43-lkp@xxxxxxxxx/config ) compiler: gcc-11 (Debian 11.3.0-1) 11.3.0 If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> New smatch warnings: drivers/gpu/drm/drm_gem_shmem_helper.c:226 drm_gem_shmem_set_evictable() warn: inconsistent returns 'shmem->base.resv'. drivers/gpu/drm/drm_gem_shmem_helper.c:253 drm_gem_shmem_set_purgeable() warn: inconsistent returns 'shmem->base.resv'. drivers/gpu/drm/drm_gem_shmem_helper.c:703 drm_gem_shmem_fault() error: we previously assumed 'shmem->pages' could be null (see line 694) vim +226 drivers/gpu/drm/drm_gem_shmem_helper.c 875fd932de880a Dmitry Osipenko 2022-05-27 215 int drm_gem_shmem_set_evictable(struct drm_gem_shmem_object *shmem) 875fd932de880a Dmitry Osipenko 2022-05-27 216 { 875fd932de880a Dmitry Osipenko 2022-05-27 217 dma_resv_lock(shmem->base.resv, NULL); 875fd932de880a Dmitry Osipenko 2022-05-27 218 875fd932de880a Dmitry Osipenko 2022-05-27 219 if (shmem->madv < 0) 875fd932de880a Dmitry Osipenko 2022-05-27 220 return -ENOMEM; Unlock before returning? 875fd932de880a Dmitry Osipenko 2022-05-27 221 875fd932de880a Dmitry Osipenko 2022-05-27 222 shmem->eviction_enabled = true; 875fd932de880a Dmitry Osipenko 2022-05-27 223 875fd932de880a Dmitry Osipenko 2022-05-27 224 dma_resv_unlock(shmem->base.resv); 875fd932de880a Dmitry Osipenko 2022-05-27 225 875fd932de880a Dmitry Osipenko 2022-05-27 @226 return 0; 875fd932de880a Dmitry Osipenko 2022-05-27 227 } 875fd932de880a Dmitry Osipenko 2022-05-27 228 EXPORT_SYMBOL_GPL(drm_gem_shmem_set_evictable); 875fd932de880a Dmitry Osipenko 2022-05-27 229 875fd932de880a Dmitry Osipenko 2022-05-27 230 /** 875fd932de880a Dmitry Osipenko 2022-05-27 231 * drm_gem_shmem_set_purgeable() - Make GEM purgeable by memory shrinker 875fd932de880a Dmitry Osipenko 2022-05-27 232 * @shmem: shmem GEM object 875fd932de880a Dmitry Osipenko 2022-05-27 233 * 875fd932de880a Dmitry Osipenko 2022-05-27 234 * Tell memory shrinker that this GEM can be purged. Initially purging is 875fd932de880a Dmitry Osipenko 2022-05-27 235 * disabled for all GEMs. If GEM was purged, then -ENOMEM is returned. 875fd932de880a Dmitry Osipenko 2022-05-27 236 * 875fd932de880a Dmitry Osipenko 2022-05-27 237 * Returns: 875fd932de880a Dmitry Osipenko 2022-05-27 238 * 0 on success or a negative error code on failure. 875fd932de880a Dmitry Osipenko 2022-05-27 239 */ 875fd932de880a Dmitry Osipenko 2022-05-27 240 int drm_gem_shmem_set_purgeable(struct drm_gem_shmem_object *shmem) 875fd932de880a Dmitry Osipenko 2022-05-27 241 { 875fd932de880a Dmitry Osipenko 2022-05-27 242 dma_resv_lock(shmem->base.resv, NULL); 875fd932de880a Dmitry Osipenko 2022-05-27 243 875fd932de880a Dmitry Osipenko 2022-05-27 244 if (shmem->madv < 0) 875fd932de880a Dmitry Osipenko 2022-05-27 245 return -ENOMEM; Same. 875fd932de880a Dmitry Osipenko 2022-05-27 246 875fd932de880a Dmitry Osipenko 2022-05-27 247 shmem->purge_enabled = true; 875fd932de880a Dmitry Osipenko 2022-05-27 248 875fd932de880a Dmitry Osipenko 2022-05-27 249 drm_gem_shmem_update_pages_state(shmem); 875fd932de880a Dmitry Osipenko 2022-05-27 250 875fd932de880a Dmitry Osipenko 2022-05-27 251 dma_resv_unlock(shmem->base.resv); 875fd932de880a Dmitry Osipenko 2022-05-27 252 875fd932de880a Dmitry Osipenko 2022-05-27 @253 return 0; 875fd932de880a Dmitry Osipenko 2022-05-27 254 } -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- kbuild@xxxxxxxxxxxx To unsubscribe send an email to kbuild-leave@xxxxxxxxxxxx