[PATCH 00/29] dev->struct_mutex crusade, once more

Daniel Vetter daniel.vetter at ffwll.ch
Mon Nov 23 01:32:33 PST 2015


Hi all,

Since Daniel Stone pointed out in the last round that I fumbled one locked vs.
unlocked case I audited all the drivers once more and uprooted a bunch more
offenders. They're mostly in error paths, but in case anyone wants to pick them
up I put them at the beginning of the patch series.

Again review, comments and acks highly welcome. I'd like to get this all in for
4.5 if possible, and will send out a pull request to Dave with the leftovers.

Cheers, Daniel

Daniel Vetter (29):
  drm/armada: Use unlocked gem unreferencing
  drm/nouveau: Use unlocked gem unreferencing
  drm/omapdrm: Use unlocked gem unreferencing
  drm/amdgpu: Use unlocked gem unreferencing
  drm/radeon: Use unlocked gem unreferencing
  drm/qxl: Use unlocked gem unreferencing
  drm/tegra: Use unlocked gem unreferencing
  drm/msm: Use unlocked gem unreferencing
  drm/udl: Use unlocked gem unreferencing
  drm/armada: Plug leak in dumb_map_offset
  drm/armada: Don't grab dev->struct_mutex for in mmap offset ioctl
  drm/armada: Drop struct_mutex from cursor paths
  drm/armada: Use a private mutex to protect priv->linear
  drm/tegra: don't take dev->struct_mutex in mmap offset ioctl
  drm/tegra: Use drm_gem_object_unreference_unlocked
  drm/gma500: Use correct unref in the gem bo create function
  drm/gma500: Drop dev->struct_mutex from modeset code
  drm/gma500: Drop dev->struct_mutex from fbdev init/teardown code
  drm/gma500: Drop dev->struct_mutex from mmap offset function
  drm/gma500: Add driver private mutex for the fault handler
  drm/nouveau: Drop dev->struct_mutex from fbdev init
  drm/exynos: Drop dev->struct_mutex from mmap offset function
  drm/exynos: drop struct_mutex from exynos_gem_map_sgt_with_dma
  drm/exynos: drop struct_mutex from exynos_drm_gem_get_ioctl
  drm/exynos: drop struct_mutex from fbdev setup
  drm/vgem: Simplify dum_map
  drm/vgem: Move get_pages to gem_create
  drm/vgem: Drop dev->struct_mutex
  drm/vma_manage: Drop has_offset

 drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c    |  2 +-
 drivers/gpu/drm/armada/armada_crtc.c      |  8 ++-----
 drivers/gpu/drm/armada/armada_debugfs.c   |  4 ++--
 drivers/gpu/drm/armada/armada_drm.h       |  3 ++-
 drivers/gpu/drm/armada/armada_drv.c       |  1 +
 drivers/gpu/drm/armada/armada_gem.c       | 25 ++++++++++-----------
 drivers/gpu/drm/drm_gem.c                 | 17 +++++++++++++++
 drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 22 +++++++------------
 drivers/gpu/drm/exynos/exynos_drm_gem.c   | 19 +++-------------
 drivers/gpu/drm/gma500/framebuffer.c      | 12 ++---------
 drivers/gpu/drm/gma500/gem.c              | 19 ++++++----------
 drivers/gpu/drm/gma500/gma_display.c      | 13 +++--------
 drivers/gpu/drm/gma500/gtt.c              |  1 +
 drivers/gpu/drm/gma500/psb_drv.h          |  2 ++
 drivers/gpu/drm/i915/i915_gem.c           |  3 ---
 drivers/gpu/drm/msm/msm_fbdev.c           |  2 +-
 drivers/gpu/drm/nouveau/nouveau_display.c |  2 +-
 drivers/gpu/drm/nouveau/nouveau_fbcon.c   |  5 -----
 drivers/gpu/drm/omapdrm/omap_fbdev.c      |  2 +-
 drivers/gpu/drm/qxl/qxl_fb.c              |  4 ++--
 drivers/gpu/drm/radeon/radeon_fb.c        |  2 +-
 drivers/gpu/drm/tegra/drm.c               | 14 ++++++------
 drivers/gpu/drm/tegra/gem.c               | 13 ++---------
 drivers/gpu/drm/udl/udl_fb.c              |  2 +-
 drivers/gpu/drm/udl/udl_gem.c             |  2 +-
 drivers/gpu/drm/vgem/vgem_drv.c           | 36 ++++++++++---------------------
 include/drm/drm_vma_manager.h             | 15 +------------
 27 files changed, 89 insertions(+), 161 deletions(-)

-- 
2.5.1



More information about the dri-devel mailing list