@@ -557,8 +557,10 @@ evict_lru(drm_intel_bufmgr_fake *bufmgr_fake, unsigned int max_fence)
max_fence))
return 0;
- set_dirty(&bo_fake->bo);
- bo_fake->block = NULL;
+ if (bo_fake) {
+ set_dirty(&bo_fake->bo);
+ bo_fake->block = NULL;
+ }
free_block(bufmgr_fake, block, 0);
return 1;
@@ -577,11 +579,13 @@ evict_mru(drm_intel_bufmgr_fake *bufmgr_fake)
DRMLISTFOREACHSAFEREVERSE(block, tmp, &bufmgr_fake->lru) {
drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) block->bo;
- if (bo_fake && (bo_fake->flags & BM_NO_FENCE_SUBDATA))
- continue;
+ if (bo_fake) {
+ if (bo_fake->flags & BM_NO_FENCE_SUBDATA)
+ continue;
- set_dirty(&bo_fake->bo);
- bo_fake->block = NULL;
+ set_dirty(&bo_fake->bo);
+ bo_fake->block = NULL;
+ }
free_block(bufmgr_fake, block, 0);
return 1;
Check on bo_fake before dereferencing the object in functions evict_lru and evict_mru. Signed-off-by: Praveen Paneri <praveen.paneri@intel.com> --- intel/intel_bufmgr_fake.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-)