drm/nouveau/svm: check for SVM initialized before migrating
authorRalph Campbell <rcampbell@nvidia.com>
Wed, 4 Mar 2020 00:13:37 +0000 (16:13 -0800)
committerBen Skeggs <bskeggs@redhat.com>
Tue, 7 Apr 2020 04:37:49 +0000 (14:37 +1000)
When migrating system memory to GPU memory, check that SVM has been
enabled. Even though most errors can be ignored since migration is
a performance optimization, return an error because this is a violation
of the API.

Signed-off-by: Ralph Campbell <rcampbell@nvidia.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nouveau_svm.c

index 1693204..c567526 100644 (file)
@@ -171,6 +171,11 @@ nouveau_svmm_bind(struct drm_device *dev, void *data,
        mm = get_task_mm(current);
        down_read(&mm->mmap_sem);
 
+       if (!cli->svm.svmm) {
+               up_read(&mm->mmap_sem);
+               return -EINVAL;
+       }
+
        for (addr = args->va_start, end = args->va_start + size; addr < end;) {
                struct vm_area_struct *vma;
                unsigned long next;