From 02c35ec0a28b4fffcfc09ca444f7dc0c0912216d Mon Sep 17 00:00:00 2001 From: Thomas Hellstrom Date: Tue, 21 Dec 2004 17:13:22 +0000 Subject: via DRM: Tightened the security for some functions of the DRM_IOCTL_VIA_DMA_INIT IOCTL. Bumped patchlevel and driver date. XFree86 bug: 2119 --- shared/via_dma.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'shared/via_dma.c') diff --git a/shared/via_dma.c b/shared/via_dma.c index a5c4b0a3..000d4b0c 100644 --- a/shared/via_dma.c +++ b/shared/via_dma.c @@ -192,13 +192,20 @@ int via_dma_init(DRM_IOCTL_ARGS) switch (init.func) { case VIA_INIT_DMA: - retcode = via_initialize(dev, dev_priv, &init); + if (!capable(CAP_SYS_ADMIN)) + retcode = DRM_ERR(EPERM); + else + retcode = via_initialize(dev, dev_priv, &init); break; case VIA_CLEANUP_DMA: - retcode = via_dma_cleanup(dev); + if (!capable(CAP_SYS_ADMIN)) + retcode = DRM_ERR(EPERM); + else + retcode = via_dma_cleanup(dev); break; case VIA_DMA_INITIALIZED: - retcode = (dev_priv->ring.virtual_start != NULL) ? 0: DRM_ERR( EFAULT ); + retcode = (dev_priv->ring.virtual_start != NULL) ? + 0: DRM_ERR( EFAULT ); break; default: retcode = DRM_ERR(EINVAL); -- cgit v1.2.3