drm: only trust core drm ioctls - driver ioctls are a mess.

So driver ioctls need a full auditing before we can make this change.

Signed-off-by: Dave Airlie <airlied@redhat.com>

+3 -4
+3 -4
drivers/char/drm/drm_drv.c
··· 470 if ((nr >= DRM_COMMAND_BASE) && (nr < DRM_COMMAND_END) && 471 (nr < DRM_COMMAND_BASE + dev->driver->num_ioctls)) 472 ioctl = &dev->driver->ioctls[nr - DRM_COMMAND_BASE]; 473 - else if ((nr >= DRM_COMMAND_END) || (nr < DRM_COMMAND_BASE)) 474 ioctl = &drm_ioctls[nr]; 475 - else 476 goto err_i1; 477 478 /* Do not trust userspace, use our own definition */ 479 - cmd = ioctl->cmd; 480 func = ioctl->func; 481 /* is there a local override? */ 482 if ((nr == DRM_IOCTL_NR(DRM_IOCTL_DMA)) && dev->driver->dma_ioctl) 483 func = dev->driver->dma_ioctl; 484 - 485 486 if (!func) { 487 DRM_DEBUG("no function\n");
··· 470 if ((nr >= DRM_COMMAND_BASE) && (nr < DRM_COMMAND_END) && 471 (nr < DRM_COMMAND_BASE + dev->driver->num_ioctls)) 472 ioctl = &dev->driver->ioctls[nr - DRM_COMMAND_BASE]; 473 + else if ((nr >= DRM_COMMAND_END) || (nr < DRM_COMMAND_BASE)) { 474 ioctl = &drm_ioctls[nr]; 475 + cmd = ioctl->cmd; 476 + } else 477 goto err_i1; 478 479 /* Do not trust userspace, use our own definition */ 480 func = ioctl->func; 481 /* is there a local override? */ 482 if ((nr == DRM_IOCTL_NR(DRM_IOCTL_DMA)) && dev->driver->dma_ioctl) 483 func = dev->driver->dma_ioctl; 484 485 if (!func) { 486 DRM_DEBUG("no function\n");