drm/bsd-core
Eric Anholt 81459d6e50 Close a race which could allow for privilege escalation by users with DRI
privileges on Radeon hardware. Essentially, a malicious program could
    submit a packet containing an offset (possibly in main memory) to be
    rendered from/to, while a separate thread switched that offset in
    userspace rapidly between a valid value and an invalid one.
    radeon_check_and_fixup_offset() would pull the offset in from user
    space, check it, and spit it back out to user space to be copied in
    later by the emit code. It would sometimes catch the bad value, but
    sometimes the malicious program could modify it after the check and get
    an invalid offset rendered from/to.
Fix this by allocating a temporary buffer and copying the data in at once.
    While here, make the cliprects stuff not do the VERIFYAREA_READ and
    COPY_FROM_USER_UNCHECKED gymnastics, avoiding a lock order reversal on
    FreeBSD. Performance impact is negligible -- no difference on r200 to
    ~1% improvement on rv200 in quake3 tests (P4 1Ghz, demofour at
    1024x768, n=4 or 5).
2005-02-08 04:17:14 +00:00
..
drm Add the drm Makefile and update .cvsignores. 2004-11-06 23:05:46 +00:00
i915 Add the drm Makefile and update .cvsignores. 2004-11-06 23:05:46 +00:00
mach64 Add mach64 DRM module for BSD (untested, but compiles). 2004-05-09 22:36:19 +00:00
mga Add .cvsignore files. 2004-05-09 22:29:55 +00:00
r128 Add .cvsignore files. 2004-05-09 22:29:55 +00:00
radeon Add .cvsignore files. 2004-05-09 22:29:55 +00:00
sis Add .cvsignore files. 2004-05-09 22:29:55 +00:00
tdfx Add .cvsignore files. 2004-05-09 22:29:55 +00:00
.cvsignore Add the drm Makefile and update .cvsignores. 2004-11-06 23:05:46 +00:00
Makefile Don't link in files which no longer exist. 2004-11-07 00:30:15 +00:00
ati_pcigart.c Commit WIP of BSD conversion to core model. Compiles for r128, radeon, but 2004-11-06 01:41:47 +00:00
drmP.h Close a race which could allow for privilege escalation by users with DRI 2005-02-08 04:17:14 +00:00
drm_agpsupport.c Add detection of whether the device is AGP by walking the capabilities 2005-01-17 20:24:52 +00:00
drm_atomic.h Add file missed in last commit: Commit first pieces of port to OpenBSD, 2004-11-06 11:19:38 +00:00
drm_auth.c Refine the locking of the DRM. Most significant is covering the driver 2004-11-07 04:11:15 +00:00
drm_bufs.c Restore a debugging message to DRM_DEBUG instead of DRM_ERROR. 2005-02-07 03:10:03 +00:00
drm_context.c - Implement drm_initmap, and extend it with the resource number to help 2005-02-05 08:00:14 +00:00
drm_dma.c Now that the memory debug code is gone, and all 3 BSDs have M_ZERO, stop 2004-11-07 00:25:49 +00:00
drm_drawable.c Commit WIP of BSD conversion to core model. Compiles for r128, radeon, but 2004-11-06 01:41:47 +00:00
drm_drv.c - Implement drm_initmap, and extend it with the resource number to help 2005-02-05 08:00:14 +00:00
drm_fops.c - Implement drm_initmap, and extend it with the resource number to help 2005-02-05 08:00:14 +00:00
drm_ioctl.c - Implement drm_initmap, and extend it with the resource number to help 2005-02-05 08:00:14 +00:00
drm_irq.c Refine the locking of the DRM. Most significant is covering the driver 2004-11-07 04:11:15 +00:00
drm_linux_list.h Add mach64 DRM module for BSD (untested, but compiles). 2004-05-09 22:36:19 +00:00
drm_lock.c Move the lock/unlock ioctls to a more logical place, in drm_lock.c. 2004-11-06 20:27:19 +00:00
drm_memory.c - Implement drm_initmap, and extend it with the resource number to help 2005-02-05 08:00:14 +00:00
drm_pci.c Now that the memory debug code is gone, and all 3 BSDs have M_ZERO, stop 2004-11-07 00:25:49 +00:00
drm_scatter.c Refine the locking of the DRM. Most significant is covering the driver 2004-11-07 04:11:15 +00:00
drm_sysctl.c - Implement drm_initmap, and extend it with the resource number to help 2005-02-05 08:00:14 +00:00
drm_vm.c Remove some annoying trailing whitespace. 2005-02-07 01:14:42 +00:00
i915_drv.c Convert more drivers for bsd-core, moving the ioctl definitions to shared 2004-11-06 23:02:07 +00:00
mach64_drv.c Convert more drivers for bsd-core, moving the ioctl definitions to shared 2004-11-06 23:02:07 +00:00
mga_drv.c Convert more drivers for bsd-core, moving the ioctl definitions to shared 2004-11-06 23:02:07 +00:00
r128_drv.c Convert more drivers for bsd-core, moving the ioctl definitions to shared 2004-11-06 23:02:07 +00:00
radeon_drv.c - Implement drm_initmap, and extend it with the resource number to help 2005-02-05 08:00:14 +00:00
sis_drv.c Convert more drivers for bsd-core, moving the ioctl definitions to shared 2004-11-06 23:02:07 +00:00
tdfx_drv.c Convert more drivers for bsd-core, moving the ioctl definitions to shared 2004-11-06 23:02:07 +00:00