linux/drivers/gpu/drm/nouveau
Lyude Paul 81640f01c2 drm/nouveau: Keep malloc references to MST ports
Now that we finally have a sane way to keep port allocations around, use
it to fix the potential unchecked ->port accesses that nouveau makes by
making sure we keep the mst port allocated for as long as it's
drm_connector is accessible.

Additionally, now that we've guaranteed that mstc->port is allocated for
as long as we keep mstc around we can remove the connector registration
checks for codepaths which release payloads, allowing us to release
payloads on active topologies properly. These registration checks were
only required before in order to avoid situations where mstc->port could
technically be pointing at freed memory.

Signed-off-by: Lyude Paul <lyude@redhat.com>
Reviewed-by: Ben Skeggs <bskeggs@redhat.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: David Airlie <airlied@redhat.com>
Cc: Jerry Zuo <Jerry.Zuo@amd.com>
Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Juston Li <juston.li@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190111005343.17443-15-lyude@redhat.com
2019-01-10 20:38:25 -05:00
..
dispnv04 BackMerge v4.18-rc7 into drm-next 2018-07-30 10:39:22 +10:00
dispnv50 drm/nouveau: Keep malloc references to MST ports 2019-01-10 20:38:25 -05:00
include drm/nouveau/disp: add a way to configure scrambling/tmds for hdmi 2.0 2018-10-11 09:54:10 +10:00
nvif treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
nvkm drm/nouveau/secboot/acr: fix memory leak 2018-10-11 09:54:10 +10:00
Kbuild drm/nouveau/kms/nv50-: move code underneath dispnv50/ 2018-05-18 15:01:26 +10:00
Kconfig
nouveau_abi16.c drm/nouveau: Replace drm_gem_object_unreference_unlocked with put function 2018-07-16 18:06:29 +10:00
nouveau_abi16.h
nouveau_acpi.c drm/nouveau: fix nouveau_dsm_get_client_id()'s return type 2018-05-18 17:09:46 +10:00
nouveau_acpi.h
nouveau_backlight.c drm/nouveau: Refactor nvXX_backlight_init() 2018-10-11 09:54:10 +10:00
nouveau_bios.c
nouveau_bios.h
nouveau_bo.c drm/nouveau/ce/gv100: initial support 2018-05-18 15:01:46 +10:00
nouveau_bo.h
nouveau_chan.c drm/nouveau/fifo/gv100: initial support 2018-05-18 15:01:46 +10:00
nouveau_chan.h
nouveau_connector.c drm/nouveau/disp: take sink support into account for exposing 594mhz 2018-10-11 09:54:10 +10:00
nouveau_connector.h drm/nouveau/drm/nouveau: s/nouveau_backlight_exit/nouveau_backlight_fini/ 2018-10-11 09:54:10 +10:00
nouveau_crtc.h
nouveau_debugfs.c drm/nouveau/debugfs: Wake up GPU before doing any reclocking 2018-07-16 18:06:29 +10:00
nouveau_debugfs.h
nouveau_display.c drm/nouveau: Move backlight device into nouveau_connector 2018-10-11 09:54:09 +10:00
nouveau_display.h drm/nouveau: Move backlight device into nouveau_connector 2018-10-11 09:54:09 +10:00
nouveau_dma.c drm/nouveau/fifo/gv100: initial support 2018-05-18 15:01:46 +10:00
nouveau_dma.h drm/nouveau/drm/nv50-: remove allocation of sw class 2018-05-18 15:01:26 +10:00
nouveau_dp.c
nouveau_drm.c drm/nouveau: Start using new drm_dev initialization helpers 2018-10-11 09:54:10 +10:00
nouveau_drv.h drm/ttm: initialize globals during device init (v2) 2018-11-05 14:21:21 -05:00
nouveau_encoder.h drm/nouveau/kms/nv50: handle SetControlOutputResource from head 2018-05-18 15:01:28 +10:00
nouveau_fbcon.c This is the 4.19-rc5 stable release 2018-09-27 11:06:46 +10:00
nouveau_fbcon.h drm/nouveau/drm/nouveau: Fix deadlock with fb_helper with async RPM requests 2018-09-07 06:54:26 +10:00
nouveau_fence.c dma-buf: allow reserving more than one shared fence slot 2018-10-25 13:45:07 +02:00
nouveau_fence.h
nouveau_gem.c BackMerge v4.18-rc7 into drm-next 2018-07-30 10:39:22 +10:00
nouveau_gem.h
nouveau_hwmon.c drm/nouveau/hwmon: potential uninitialized variables 2018-07-16 18:06:29 +10:00
nouveau_hwmon.h
nouveau_ioc32.c
nouveau_ioctl.h
nouveau_led.c
nouveau_led.h
nouveau_mem.c
nouveau_mem.h
nouveau_nvif.c
nouveau_platform.c drm/nouveau: Replace drm_dev_unref with drm_dev_put 2018-07-16 18:06:30 +10:00
nouveau_platform.h
nouveau_prime.c
nouveau_reg.h
nouveau_sgdma.c
nouveau_ttm.c drm/ttm: initialize globals during device init (v2) 2018-11-05 14:21:21 -05:00
nouveau_ttm.h
nouveau_usif.c
nouveau_usif.h
nouveau_vga.c drm/nouveau: Remove useless poll_disable() call in switcheroo_set_state() 2018-09-07 06:54:26 +10:00
nouveau_vga.h
nouveau_vmm.c drm/nouveau/gem: attach fences to VMAs to track GPU usage 2018-05-18 15:01:26 +10:00
nouveau_vmm.h drm/nouveau/gem: attach fences to VMAs to track GPU usage 2018-05-18 15:01:26 +10:00
nv04_fbcon.c
nv04_fence.c
nv10_fence.c
nv10_fence.h
nv17_fence.c
nv50_display.h drm/nouveau/kms/nv50-: split each resource type into their own source files 2018-05-18 15:01:28 +10:00
nv50_fbcon.c
nv50_fence.c
nv84_fence.c treewide: Use array_size() in vmalloc() 2018-06-12 16:19:22 -07:00
nvc0_fbcon.c
nvc0_fence.c