]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/gpu/drm/drm_info.c
drm/gem: fix up flink name create race
[karo-tx-linux.git] / drivers / gpu / drm / drm_info.c
index d4b20ceda3fbd8d183dc7e628683732590200f51..5351e811c42166d54e9df38e9a18ae9b12a95816 100644 (file)
@@ -207,7 +207,7 @@ static int drm_gem_one_name_info(int id, void *ptr, void *data)
 
        seq_printf(m, "%6d %8zd %7d %8d\n",
                   obj->name, obj->size,
-                  atomic_read(&obj->handle_count),
+                  obj->handle_count,
                   atomic_read(&obj->refcount.refcount));
        return 0;
 }
@@ -218,7 +218,11 @@ int drm_gem_name_info(struct seq_file *m, void *data)
        struct drm_device *dev = node->minor->dev;
 
        seq_printf(m, "  name     size handles refcount\n");
+
+       spin_lock(&dev->object_name_lock);
        idr_for_each(&dev->object_name_idr, drm_gem_one_name_info, m);
+       spin_unlock(&dev->object_name_lock);
+
        return 0;
 }