Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/vmwgfx: Fix user space handle equal to zero

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>

+1 -1
+1 -1
drivers/gpu/drm/vmwgfx/ttm_object.c
··· 174 174 kref_init(&base->refcount); 175 175 idr_preload(GFP_KERNEL); 176 176 spin_lock(&tdev->object_lock); 177 - ret = idr_alloc(&tdev->idr, base, 0, 0, GFP_NOWAIT); 177 + ret = idr_alloc(&tdev->idr, base, 1, 0, GFP_NOWAIT); 178 178 spin_unlock(&tdev->object_lock); 179 179 idr_preload_end(); 180 180 if (ret < 0)