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