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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 23 Apr 2020 08:36:36 +0000 (10:36 +0200)
[ Upstream commit 822cab6150d3002952407a8297ff5a0d32bb7b54 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/nouveau/nouveau_svm.c

index 668d4bd..25b7055 100644 (file)
@@ -173,6 +173,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;