drm/shared-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.h The patch makes drmAddBufs/drmMapBufs can handle buffers in video memory 2005-01-16 05:40:12 +00:00
drm_pciids.txt fix incorrect PCI id for ATI radeon 2005-01-27 09:13:42 +00:00
drm_sarea.h Lindent of core build. Drivers checked for no binary diffs. A few files 2004-09-30 21:12:10 +00:00
i915_dma.c make functions static in i915, remove unused functions 2005-02-01 10:43:42 +00:00
i915_drm.h First check in for DRM that splits core from personality modules 2004-09-27 19:51:38 +00:00
i915_drv.h make functions static in i915, remove unused functions 2005-02-01 10:43:42 +00:00
i915_irq.c make functions static in i915, remove unused functions 2005-02-01 10:43:42 +00:00
i915_mem.c Lindent of core build. Drivers checked for no binary diffs. A few files 2004-09-30 21:12:10 +00:00
mach64_dma.c Some code commenting concerning the FIFO & DMA engine. 2005-01-17 21:46:32 +00:00
mach64_drm.h Lindent of core build. Drivers checked for no binary diffs. A few files 2004-09-30 21:12:10 +00:00
mach64_drv.h Lindent of core build. Drivers checked for no binary diffs. A few files 2004-09-30 21:12:10 +00:00
mach64_irq.c Lindent of core build. Drivers checked for no binary diffs. A few files 2004-09-30 21:12:10 +00:00
mach64_state.c Convert more drivers for bsd-core, moving the ioctl definitions to shared 2004-11-06 23:02:07 +00:00
mga_dma.c cleanup patch from Adrian Bunk <bunk@stusta.de> 2005-02-01 11:08:31 +00:00
mga_drm.h Lindent of core build. Drivers checked for no binary diffs. A few files 2004-09-30 21:12:10 +00:00
mga_drv.h cleanup patch from Adrian Bunk <bunk@stusta.de> 2005-02-01 11:08:31 +00:00
mga_irq.c Lindent of core build. Drivers checked for no binary diffs. A few files 2004-09-30 21:12:10 +00:00
mga_state.c cleanup patch from Adrian Bunk <bunk@stusta.de> 2005-02-01 11:08:31 +00:00
mga_ucode.h Lindent of core build. Drivers checked for no binary diffs. A few files 2004-09-30 21:12:10 +00:00
mga_warp.c Lindent of core build. Drivers checked for no binary diffs. A few files 2004-09-30 21:12:10 +00:00
r128_cce.c cleanup patch from Adrian Bunk <bunk@stusta.de> 2005-02-01 11:08:31 +00:00
r128_drm.h Lindent of core build. Drivers checked for no binary diffs. A few files 2004-09-30 21:12:10 +00:00
r128_drv.h cleanup patch from Adrian Bunk <bunk@stusta.de> 2005-02-01 11:08:31 +00:00
r128_irq.c Lindent of core build. Drivers checked for no binary diffs. A few files 2004-09-30 21:12:10 +00:00
r128_state.c Declare r128_do_cleanup_pageflip static since it's only used here and its 2005-02-03 01:06:10 +00:00
radeon_cp.c fix agp detection on linux 2005-02-07 10:44:28 +00:00
radeon_drm.h (Stephane Marchesin,me) Add radeon framebuffer tiling support to radeon 2005-01-26 17:48:59 +00:00
radeon_drv.h Close a race which could allow for privilege escalation by users with DRI 2005-02-08 04:17:14 +00:00
radeon_irq.c cleanup patch from Adrian Bunk <bunk@stusta.de> 2005-02-01 11:08:31 +00:00
radeon_mem.c janitor-list_for_each-drivers-char-drm-radeon_memc.patch from mm kernel 2004-10-02 19:11:30 +00:00
radeon_state.c Close a race which could allow for privilege escalation by users with DRI 2005-02-08 04:17:14 +00:00
savage_bci.c - Implement drm_initmap, and extend it with the resource number to help 2005-02-05 08:00:14 +00:00
savage_drm.h Completeley rewritten Savage DRM which can be considered secure (modulo 2005-01-01 20:22:58 +00:00
savage_drv.h Corrected some confusion of vb_stride and vtx_size 2005-01-20 12:23:25 +00:00
savage_state.c Corrected some confusion of vb_stride and vtx_size 2005-01-20 12:23:25 +00:00
sis_drm.h Lindent of core build. Drivers checked for no binary diffs. A few files 2004-09-30 21:12:10 +00:00
sis_drv.h cleanup patch from Adrian Bunk <bunk@stusta.de> 2005-02-01 11:08:31 +00:00
sis_ds.c cleanup patch from Adrian Bunk <bunk@stusta.de> 2005-02-01 11:08:31 +00:00
sis_ds.h cleanup patch from Adrian Bunk <bunk@stusta.de> 2005-02-01 11:08:31 +00:00
sis_mm.c cleanup patch from Adrian Bunk <bunk@stusta.de> 2005-02-01 11:08:31 +00:00
tdfx_drv.h Lindent of core build. Drivers checked for no binary diffs. A few files 2004-09-30 21:12:10 +00:00
via_3d_reg.h VIA update: 2005-01-05 17:44:43 +00:00
via_dma.c cleanup patch from Adrian Bunk <bunk@stusta.de> 2005-02-01 11:08:31 +00:00
via_drm.h VIA drm updates: 2004-12-13 13:53:12 +00:00
via_drv.c Via driver: Add missing drm_poll function to via driver in core. 2005-02-03 10:51:22 +00:00
via_drv.h Via driver: Add missing drm_poll function to via driver in core. 2005-02-03 10:51:22 +00:00
via_ds.c cleanup patch from Adrian Bunk <bunk@stusta.de> 2005-02-01 11:08:31 +00:00
via_ds.h cleanup patch from Adrian Bunk <bunk@stusta.de> 2005-02-01 11:08:31 +00:00
via_irq.c Reworked PCI MMIO command buffer parser, and imported code from the Mesa 2004-11-27 22:55:31 +00:00
via_map.c cleanup patch from Adrian Bunk <bunk@stusta.de> 2005-02-01 11:08:31 +00:00
via_mm.c cleanup patch from Adrian Bunk <bunk@stusta.de> 2005-02-01 11:08:31 +00:00
via_mm.h cleanup patch from Adrian Bunk <bunk@stusta.de> 2005-02-01 11:08:31 +00:00
via_verifier.c Fixed multiple devices DMA bug. Fixed PCI path FIRE command detection 2005-01-27 22:48:47 +00:00
via_verifier.h via updates: moved the verifier state struct to dev_priv. Implemented AGP 2005-01-07 11:37:01 +00:00