DF-4459 / run.log
+ F=sys/dev/drm/drm_gem.c
+ grep -n mm = kzalloc sys/dev/drm/drm_gem.c
139: mm = kzalloc(sizeof(struct drm_gem_mm), GFP_KERNEL);
+ grep -n vma_offset_manager = kzalloc sys/dev/drm/drm_gem.c
140: vma_offset_manager = kzalloc(sizeof(*vma_offset_manager), GFP_KERNEL);
+ grep -n if (!vma_offset_manager) sys/dev/drm/drm_gem.c
141: if (!vma_offset_manager) {
+ echo -- expect: NO 'if (!mm' line follows --
-- expect: NO 'if (!mm' line follows --
+ grep -n if (!mm sys/dev/drm/drm_gem.c
+ echo CONFIRMED: mm allocation never NULL-checked
CONFIRMED: mm allocation never NULL-checked
+ grep -n dev->mm_private = mm sys/dev/drm/drm_gem.c
146: dev->mm_private = mm;
+ grep -n drm_ht_create(&mm->offset_hash sys/dev/drm/drm_gem.c
148: if (drm_ht_create(&mm->offset_hash, 12)) {
+ grep -n -A2 if (drm_ht_create sys/dev/drm/drm_gem.c
+ head -6
148: if (drm_ht_create(&mm->offset_hash, 12)) {
149- kfree(mm);
150- return -ENOMEM;
+ grep -n drm_mm_takedown(&mm->offset_manager) sys/dev/drm/drm_gem.c
170: drm_mm_takedown(&mm->offset_manager);
+ grep -n drm_ht_remove(&mm->offset_hash) sys/dev/drm/drm_gem.c
171: drm_ht_remove(&mm->offset_hash);