1. 06 1月, 2015 1 次提交
  2. 10 9月, 2014 1 次提交
  3. 10 6月, 2014 1 次提交
  4. 22 4月, 2014 1 次提交
  5. 18 12月, 2013 1 次提交
  6. 01 2月, 2013 1 次提交
  7. 03 10月, 2012 2 次提交
  8. 18 10月, 2011 1 次提交
  9. 31 3月, 2011 1 次提交
  10. 17 8月, 2010 1 次提交
    • D
      drm: block userspace under allocating buffer and having drivers overwrite it (v2) · 1b2f1489
      Dave Airlie 提交于
      With the current screwed but its ABI, ioctls for the drm, Linus pointed out that we could allow userspace to specify the allocation size, but we pass it to the driver which then uses it blindly to store a struct. Now if userspace specifies the allocation size as smaller than the driver needs, the driver can possibly overwrite memory.
      
      This patch restructures the driver ioctls so we store the structure size we are expecting, and make sure we allocate at least that size. The copy from/to userspace are still restricted to the size the user specifies, this allows ioctl structs to grow on both sides of the equation.
      
      Up until now we didn't really use the DRM_IOCTL defines in the kernel, so this cleans them up and adds them for nouveau.
      
      v2:
      fix nouveau pushbuf arg (thanks to Ben for pointing it out)
      Reported-by: NLinus Torvalds <torvalds@linuxfoundation.org>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      1b2f1489
  11. 29 5月, 2010 1 次提交
  12. 11 5月, 2010 1 次提交
  13. 01 3月, 2010 1 次提交
    • D
      drm/radeon: r100/r200 ums: block ability for userspace app to trash 0 page and beyond · 566d84d1
      Dave Airlie 提交于
      radeon's have a special ability to passthrough writes in their internal
      memory space directly to PCI, this ability means that if some of the internal
      surfaces like the depth buffer point at 0x0, any writes to these will
      go directly to RAM at 0x0 via PCI busmastering.
      
      Now mesa used to always emit clears after emitting state, since the
      radeon mesa driver was refactored a year or more ago, it was found it
      could generate a clear request without ever sending any setup state to the
      card. So the clear would attempt to clear the depth buffer at 0x0, which
      would overwrite main memory at this point. fs corruption ensues.
      
      Also once one app did this correctly, it would never get set back to 0
      making this messy to reproduce.
      
      The kernel should block this from happening as mesa runs without privs,
      though it does require the user be connected to the current running X session.
      
      This patch implements a check to make sure the depth offset has been set
      before a depth clear occurs and if it finds one it prints a warning and
      ignores the depth clear request. There is also a mesa fix to avoid sending
      the badness going into mesa.
      
      This only affects r100/r200 GPUs in user modesetting mode.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      566d84d1
  14. 23 2月, 2010 1 次提交
  15. 04 2月, 2010 1 次提交
  16. 04 12月, 2009 1 次提交
  17. 18 9月, 2009 1 次提交
  18. 08 9月, 2009 1 次提交
    • J
      drm/radeon/kms: add r600 KMS support · 3ce0a23d
      Jerome Glisse 提交于
      This adds the r600 KMS + CS support to the Linux kernel.
      
      The r600 TTM support is quite basic and still needs more
      work esp around using interrupts, but the polled fencing
      should work okay for now.
      
      Also currently TTM is using memcpy to do VRAM moves,
      the code is here to use a 3D blit to do this, but
      isn't fully debugged yet.
      
      Authors:
      Alex Deucher <alexdeucher@gmail.com>
      Dave Airlie <airlied@redhat.com>
      Jerome Glisse <jglisse@redhat.com>
      Signed-off-by: NJerome Glisse <jglisse@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      3ce0a23d
  19. 21 8月, 2009 1 次提交
  20. 19 6月, 2009 1 次提交
  21. 13 3月, 2009 4 次提交
  22. 29 12月, 2008 1 次提交
    • D
      drm: move to kref per-master structures. · 7c1c2871
      Dave Airlie 提交于
      This is step one towards having multiple masters sharing a drm
      device in order to get fast-user-switching to work.
      
      It splits out the information associated with the drm master
      into a separate kref counted structure, and allocates this when
      a master opens the device node. It also allows the current master
      to abdicate (say while VT switched), and a new master to take over
      the hardware.
      
      It moves the Intel and radeon drivers to using the sarea from
      within the new master structures.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      7c1c2871
  23. 18 10月, 2008 1 次提交
  24. 14 7月, 2008 1 次提交
    • D
      drm: reorganise drm tree to be more future proof. · c0e09200
      Dave Airlie 提交于
      With the coming of kernel based modesetting and the memory manager stuff,
      the everything in one directory approach was getting very ugly and
      starting to be unmanageable.
      
      This restructures the drm along the lines of other kernel components.
      
      It creates a drivers/gpu/drm directory and moves the hw drivers into
      subdirectores. It moves the includes into an include/drm, and
      sets up the unifdef for the userspace headers we should be exporting.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      c0e09200
  25. 19 6月, 2008 2 次提交
  26. 07 2月, 2008 2 次提交
  27. 20 10月, 2007 1 次提交
  28. 15 10月, 2007 4 次提交
  29. 12 7月, 2007 1 次提交
  30. 11 7月, 2007 2 次提交