linux/drivers/gpu/drm
Asahi Lina ddddedaa0d
drm/shmem-helper: Fix locking for drm_gem_shmem_get_pages_sgt()
Other functions touching shmem->sgt take the pages lock, so do that here
too. drm_gem_shmem_get_pages() & co take the same lock, so move to the
_locked() variants to avoid recursive locking.

Discovered while auditing locking to write the Rust abstractions.

Fixes: 2194a63a81 ("drm: Add library for shmem backed GEM objects")
Fixes: 4fa3d66f13 ("drm/shmem: Do dma_unmap_sg before purging pages")
Signed-off-by: Asahi Lina <lina@asahilina.net>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230205125124.2260-1-lina@asahilina.net
(cherry picked from commit aa8c85affe)
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
2023-02-16 16:04:38 +01:00
..
amd drm/display/dp_mst: Handle old/new payload states in drm_dp_remove_payload() 2023-02-13 21:37:29 +02:00
arm drm/arm/komeda: Remove unnecessary include statements for drm_crtc_helper.h 2023-01-18 09:25:30 +01:00
armada drm/fb-helper: Initialize fb-helper's preferred BPP in prepare function 2023-01-26 08:52:31 +01:00
aspeed drm/aspeed: Remove unnecessary include statements for drm_crtc_helper.h 2023-01-18 09:25:31 +01:00
ast drm/ast: Remove unnecessary include statements for drm_crtc_helper.h 2023-01-18 09:25:31 +01:00
atmel-hlcdc
bridge drm-misc-next for $kernel-version: 2023-01-24 17:36:29 +01:00
display drm/display/dp_mst: Add drm_atomic_get_old_mst_topology_state() 2023-02-13 21:37:49 +02:00
etnaviv
exynos drm/fb-helper: Initialize fb-helper's preferred BPP in prepare function 2023-01-26 08:52:31 +01:00
fsl-dcu
gma500 drm/fb-helper: Initialize fb-helper's preferred BPP in prepare function 2023-01-26 08:52:31 +01:00
gud
hisilicon
hyperv
i2c drm-misc-next for $kernel-version: 2023-01-24 17:36:29 +01:00
i915 drm/i915/dp_mst: Fix payload removal during output disabling 2023-02-13 21:37:59 +02:00
imx
ingenic drm/ingenic: Remove unnecessary include statements for drm_crtc_helper.h 2023-01-18 09:25:31 +01:00
kmb drm/kmb: Remove unnecessary include statements for drm_crtc_helper.h 2023-01-18 09:25:31 +01:00
lib
lima
logicvc drm/logicvc: Remove unnecessary include statements for drm_crtc_helper.h 2023-01-18 09:25:31 +01:00
mcde
mediatek
meson Linux 6.2-rc6 2023-01-31 12:23:23 +01:00
mgag200
msm Linux 6.2-rc6 2023-01-31 12:23:23 +01:00
mxsfb
nouveau drm/display/dp_mst: Handle old/new payload states in drm_dp_remove_payload() 2023-02-13 21:37:29 +02:00
omapdrm drm/fb-helper: Initialize fb-helper's preferred BPP in prepare function 2023-01-26 08:52:31 +01:00
panel drm/panel: Add driver for the AUO A030JTN01 TFT LCD 2023-01-22 11:25:06 +00:00
panfrost Linux 6.2-rc6 2023-01-31 12:23:23 +01:00
pl111
qxl
radeon drm/fb-helper: Initialize fb-helper's preferred BPP in prepare function 2023-01-26 08:52:31 +01:00
rcar-du Renesas R-Car DU fixes and improvements 2023-01-30 13:49:56 +10:00
rockchip drm/rockchip: Remove unnecessary include statements for drm_crtc_helper.h 2023-01-18 09:25:31 +01:00
scheduler drm/scheduler: deprecate drm_sched_resubmit_jobs 2023-01-18 12:46:52 +01:00
shmobile drm/shmobile: Remove unnecessary include statements for drm_crtc_helper.h 2023-01-18 09:25:32 +01:00
solomon drm/ssd130x: Silence a `dubious: x & !y` warning 2023-01-24 11:02:33 +01:00
sprd drm/sprd: Remove unnecessary include statements for drm_crtc_helper.h 2023-01-18 09:25:32 +01:00
sti
stm
sun4i drm/sun4i: Remove unnecessary include statements for drm_crtc_helper.h 2023-01-18 09:25:32 +01:00
tegra drm/tegra: Changes for v6.3-rc1 2023-01-30 14:24:52 +10:00
tests Linux 6.2-rc6 2023-01-31 12:23:23 +01:00
tidss drm/tidss: Remove unnecessary include statements for drm_crtc_helper.h 2023-01-18 09:25:32 +01:00
tilcdc
tiny drm/simpledrm: Fix an NULL vs IS_ERR() bug 2023-02-01 11:16:46 +01:00
ttm Linux 6.2-rc6 2023-01-31 12:23:23 +01:00
tve200
udl drm/udl: Remove unnecessary include statements for drm_crtc_helper.h 2023-01-18 09:25:32 +01:00
v3d
vboxvideo drm/vboxvideo: Remove unnecessary include statements for drm_crtc_helper.h 2023-01-18 09:25:32 +01:00
vc4 drm/vc4: allow DRM_VC4_KUNIT_TEST to be a loadable module 2023-02-02 13:37:26 +01:00
vgem
virtio Linux 6.2-rc6 2023-01-31 12:23:23 +01:00
vkms
vmwgfx Linux 6.2-rc6 2023-01-31 12:23:23 +01:00
xen
xlnx
Kconfig
Makefile drm-misc-next for $kernel-version: 2023-01-24 17:36:29 +01:00
drm_agpsupport.c
drm_aperture.c
drm_atomic.c
drm_atomic_helper.c
drm_atomic_state_helper.c drm/atomic-helper: fix kernel-doc problems 2023-01-19 09:16:04 +01:00
drm_atomic_uapi.c
drm_auth.c
drm_blend.c
drm_bridge.c
drm_bridge_connector.c
drm_buddy.c
drm_bufs.c
drm_cache.c
drm_client.c drm/client: Add hotplug_failed flag 2023-01-26 08:52:26 +01:00
drm_client_modeset.c
drm_color_mgmt.c
drm_connector.c drm/edid: parse VICs from CTA VDB early 2023-01-19 10:53:24 +02:00
drm_context.c
drm_crtc.c
drm_crtc_helper.c
drm_crtc_helper_internal.h
drm_crtc_internal.h
drm_damage_helper.c
drm_debugfs.c
drm_debugfs_crc.c
drm_displayid.c
drm_dma.c
drm_drv.c
drm_dumb_buffers.c
drm_edid.c drm/edid: remove redundant _drm_connector_update_edid_property() 2023-01-23 11:46:50 +02:00
drm_edid_load.c
drm_encoder.c
drm_encoder_slave.c
drm_fb_dma_helper.c
drm_fb_helper.c Linux 6.2-rc6 2023-01-31 12:23:23 +01:00
drm_fbdev_generic.c Linux 6.2-rc6 2023-01-31 12:23:23 +01:00
drm_file.c drm-misc-next for v6.3: 2023-01-16 15:33:28 +10:00
drm_flip_work.c
drm_format_helper.c drm/format-helper: Support the AB24/XB24 formats 2023-01-23 15:02:41 +01:00
drm_fourcc.c
drm_framebuffer.c
drm_gem.c
drm_gem_atomic_helper.c
drm_gem_dma_helper.c
drm_gem_framebuffer_helper.c
drm_gem_shmem_helper.c drm/shmem-helper: Fix locking for drm_gem_shmem_get_pages_sgt() 2023-02-16 16:04:38 +01:00
drm_gem_ttm_helper.c
drm_gem_vram_helper.c
drm_hashtab.c
drm_internal.h
drm_ioc32.c
drm_ioctl.c
drm_irq.c
drm_kms_helper_common.c
drm_lease.c drm: Remove unnecessary include statements for drm_crtc_helper.h 2023-01-18 09:25:30 +01:00
drm_legacy.h
drm_legacy_misc.c
drm_lock.c
drm_managed.c
drm_memory.c
drm_mipi_dbi.c
drm_mipi_dsi.c drm/mipi-dsi: Fix byte order of 16-bit DCS set/get brightness 2023-01-19 08:21:56 +01:00
drm_mm.c
drm_mode_config.c
drm_mode_object.c
drm_modes.c
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c
drm_panel.c
drm_panel_orientation_quirks.c drm: panel-orientation-quirks: Add quirk for Lenovo IdeaPad Duet 3 10IGL5 2023-02-15 10:46:05 +01:00
drm_pci.c
drm_plane.c
drm_plane_helper.c drm: Remove unnecessary include statements for drm_crtc_helper.h 2023-01-18 09:25:30 +01:00
drm_prime.c
drm_print.c
drm_privacy_screen.c
drm_privacy_screen_x86.c
drm_probe_helper.c drm/probe_helper: sort out poll_running vs poll_enabled 2023-02-07 15:07:52 +01:00
drm_property.c
drm_rect.c
drm_scatter.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c
drm_syncobj.c
drm_sysfs.c
drm_trace.h
drm_trace_points.c
drm_vblank.c
drm_vblank_work.c
drm_vm.c
drm_vma_manager.c drm/drm_vma_manager: Add drm_vma_node_allow_once() 2023-01-19 14:16:55 +01:00
drm_writeback.c