diff options
author | Ralph Campbell <rcampbell@nvidia.com> | 2020-03-03 16:13:37 -0800 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2020-04-07 14:37:49 +1000 |
commit | 822cab6150d3002952407a8297ff5a0d32bb7b54 (patch) | |
tree | 44a2cf84efff5405d84335be93bde96c24d8d0a8 /drivers/gpu/drm/nouveau/nouveau_svm.c | |
parent | b92103b559c77abc5f8b7bec269230a219c880b7 (diff) |
drm/nouveau/svm: check for SVM initialized before migrating
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>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_svm.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_svm.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_svm.c b/drivers/gpu/drm/nouveau/nouveau_svm.c index 169320409286..c567526b75b8 100644 --- a/drivers/gpu/drm/nouveau/nouveau_svm.c +++ b/drivers/gpu/drm/nouveau/nouveau_svm.c @@ -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; |