Commit 41ee2ff4 authored by Johannes Weiner's avatar Johannes Weiner Committed by Dave Airlie

drm: use drms ioctl cmd not what we get passed from userspace.

This enforces us to use the drm ioctl types so read/write works correctly and not believe
what userspace tells us.

It does this hopefully without breaking the drm api.

Fixes bug from thread: BUG: unable to handle kernel NULL pointer dereference (drm_getunique)
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 5dd34572
...@@ -475,6 +475,8 @@ int drm_ioctl(struct inode *inode, struct file *filp, ...@@ -475,6 +475,8 @@ int drm_ioctl(struct inode *inode, struct file *filp,
else else
goto err_i1; goto err_i1;
/* Do not trust userspace, use our own definition */
cmd = ioctl->cmd;
func = ioctl->func; func = ioctl->func;
/* is there a local override? */ /* is there a local override? */
if ((nr == DRM_IOCTL_NR(DRM_IOCTL_DMA)) && dev->driver->dma_ioctl) if ((nr == DRM_IOCTL_NR(DRM_IOCTL_DMA)) && dev->driver->dma_ioctl)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment