| From 8407f8a1d940fe28c4243ad4f0cb6a44dcee88f6 Mon Sep 17 00:00:00 2001 |
| From: Thomas Hellstrom <thellstrom@vmware.com> |
| Date: Tue, 7 May 2019 11:10:10 +0200 |
| Subject: drm/vmwgfx: Fix user space handle equal to zero |
| |
| From: Thomas Hellstrom <thellstrom@vmware.com> |
| |
| commit 8407f8a1d940fe28c4243ad4f0cb6a44dcee88f6 upstream. |
| |
| User-space handles equal to zero are interpreted as uninitialized or |
| illegal by some drm systems (most notably kms). This means that a |
| dumb buffer or surface with a zero user-space handle can never be |
| used as a kms frame-buffer. |
| |
| Cc: <stable@vger.kernel.org> |
| Fixes: c7eae62666ad ("drm/vmwgfx: Make the object handles idr-generated") |
| Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> |
| Reviewed-by: Deepak Rawat <drawat@vmware.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpu/drm/vmwgfx/ttm_object.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/gpu/drm/vmwgfx/ttm_object.c |
| +++ b/drivers/gpu/drm/vmwgfx/ttm_object.c |
| @@ -174,7 +174,7 @@ int ttm_base_object_init(struct ttm_obje |
| kref_init(&base->refcount); |
| idr_preload(GFP_KERNEL); |
| spin_lock(&tdev->object_lock); |
| - ret = idr_alloc(&tdev->idr, base, 0, 0, GFP_NOWAIT); |
| + ret = idr_alloc(&tdev->idr, base, 1, 0, GFP_NOWAIT); |
| spin_unlock(&tdev->object_lock); |
| idr_preload_end(); |
| if (ret < 0) |