nvbo = kzalloc(sizeof(struct nouveau_bo), GFP_KERNEL);
        if (!nvbo)
                return ERR_PTR(-ENOMEM);
+
        INIT_LIST_HEAD(&nvbo->head);
        INIT_LIST_HEAD(&nvbo->entry);
        INIT_LIST_HEAD(&nvbo->vma_list);
        dma_resv_init(&nvbo->bo.base._resv);
        drm_vma_node_reset(&nvbo->bo.base.vma_node);
 
+       /* This must be called before ttm_bo_init_reserved(). Subsequent
+        * bo_move() callbacks might already iterate the GEMs GPUVA list.
+        */
+       drm_gem_gpuva_init(&nvbo->bo.base);
+
        ret = nouveau_bo_init(nvbo, size, align, domain, sg, robj);
        if (ret)
                return ret;