drm/ttm: Handle in-memory region copies
authorJakob Bornecrantz <jakob@vmware.com>
Wed, 30 Oct 2013 09:46:56 +0000 (02:46 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Dec 2013 18:57:05 +0000 (10:57 -0800)
commit 9a0599ddeae012a771bba5e23393fc52d8a59d89 upstream.

Fix the case where the ttm pointer may be NULL causing
a NULL pointer dereference.

Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
Signed-off-by: Thomas Hellström <thellstrom@vmware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/ttm/ttm_bo_util.c

index af894584dd909f287dade021a50bef2bce233489..068341ad1f5f2f17032d23ab0594010d65622731 100644 (file)
@@ -347,7 +347,9 @@ int ttm_bo_move_memcpy(struct ttm_buffer_object *bo,
        if (old_iomap == NULL && ttm == NULL)
                goto out2;
 
-       if (ttm->state == tt_unpopulated) {
+       /* TTM might be null for moves within the same region.
+        */
+       if (ttm && ttm->state == tt_unpopulated) {
                ret = ttm->bdev->driver->ttm_tt_populate(ttm);
                if (ret) {
                        /* if we fail here don't nuke the mm node