linux/drivers/gpu/drm
Ville Syrjälä 23e1ce89af drm: Do basic sanity checks for user modes
Currently userspace is allowed to pass in basiclly any kind of garbage
to setcrtc. Try to catch the cases where the timings make no sense
by passing the mode through drm_mode_validate_basic().

One concern here is that we now start to block some modes that have
worked in the past. It's at least possible with when using i915 with
LVDS/eDP. Previously we've just ignored everything but hdisplay/vdisplay
from the user mode and just overwritten the rest with the panel fixed
mode. So if someone has been passing a mode with just those populated
that would now stop working. If that is a real problem, we can't add
these checks to the core code and each driver would have to have its
own sanity checks. So fingers crossed...

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-12-17 18:29:43 +01:00
..
amd amdkfd: Implement the Get Version IOCTL 2014-11-02 12:18:29 +02:00
armada drm/armada: Remove dummy ->load_lut() implementation 2014-12-10 13:51:25 +01:00
ast drm: Move drm_crtc_init from drm_crtc.h to drm_plane_helper.h 2014-11-05 00:14:55 +01:00
bochs drm/bochs: Remove dummy ->load_lut() implementation 2014-12-10 13:51:31 +01:00
bridge
cirrus drm/cirrus: allow 32bpp framebuffers for cirrus drm 2014-11-20 11:42:46 +10:00
exynos drm/panel: Changes for v3.19-rc1 2014-11-15 09:36:13 +10:00
gma500 drm: Miscellaneous fixes for v3.19-rc1 2014-11-15 09:37:20 +10:00
i2c
i810
i915 drm/gem: Warn on illegal use of the dumb buffer interface v2 2014-11-21 12:12:41 +10:00
mga
mgag200 drm: Move drm_crtc_init from drm_crtc.h to drm_plane_helper.h 2014-11-05 00:14:55 +01:00
msm drm/msm: Remove dummy ->load_lut() implementation 2014-12-10 13:51:35 +01:00
nouveau drm/gem: Warn on illegal use of the dumb buffer interface v2 2014-11-21 12:12:41 +10:00
omapdrm drm: omapdrm: remove unused variable 2014-11-20 11:29:39 +10:00
panel drm/panel: Add Sharp LQ101R1SX01 support 2014-11-13 13:56:19 +01:00
qxl drm/qxl: drop unused mode private pointer 2014-11-15 10:15:30 +10:00
r128 drm: remove unnecessary sizeof(u8) 2014-11-20 11:30:37 +10:00
radeon Merge branch 'drm-next-3.19' of git://people.freedesktop.org/~agd5f/linux into drm-next 2014-11-21 12:17:43 +10:00
rcar-du drm: Sanitize DRM_IOCTL_MODE_CREATE_DUMB input 2014-11-15 09:50:21 +10:00
savage
shmobile drm: Move drm_crtc_init from drm_crtc.h to drm_plane_helper.h 2014-11-05 00:14:55 +01:00
sis
sti drm/sti: Remove dummy ->load_lut() implementation 2014-12-10 13:51:39 +01:00
tdfx
tegra drm/tegra: Remove dummy ->load_lut() implementation 2014-12-10 13:58:05 +01:00
tilcdc drm/tilcdc: Deletion of an unnecessary check before the function call "drm_fbdev_cma_hotplug_event" 2014-11-21 12:16:31 +10:00
ttm drm/ttm: Avoid memory allocation from shrinker functions. 2014-11-20 11:31:56 +10:00
udl drm/udl: Deletion of an unnecessary check before the function call "vunmap" 2014-11-21 12:16:35 +10:00
via
vmwgfx drm/vmwgfx: Deletion of an unnecessary check before the function call "vfree" 2014-11-21 12:16:40 +10:00
ati_pcigart.c
drm_agpsupport.c
drm_atomic_helper.c drm/atomic: clear plane's CRTC and FB when shutting down 2014-11-27 15:39:11 +01:00
drm_atomic.c drm/atomic: track bitmask of planes attached to crtc 2014-11-27 15:38:15 +01:00
drm_auth.c
drm_bufs.c
drm_cache.c drm/cache: Use wbinvd helpers 2014-12-16 08:56:55 +01:00
drm_context.c
drm_crtc_helper.c drm/atomic: Refcounting for plane_state->fb 2014-11-06 21:08:37 +01:00
drm_crtc_internal.h
drm_crtc.c drm: Do basic sanity checks for user modes 2014-12-17 18:29:43 +01:00
drm_debugfs.c
drm_dma.c
drm_dp_helper.c drm/dp: Add counters in the drm_dp_aux struct for I2C NACKs and DEFERs 2014-11-05 14:03:22 +01:00
drm_dp_mst_topology.c drm/dp/mst: Handle invalid link bandwidth from DPCD gracefully 2014-11-15 09:31:34 +10:00
drm_drv.c drm: Document that drm_dev_alloc doesn't need a parent 2014-11-25 13:12:42 +01:00
drm_edid_load.c drm/edid: Deletion of an unnecessary check before the function call "release_firmware" 2014-11-21 12:16:27 +10:00
drm_edid.c drm/edid: Restore kerneldoc consistency 2014-12-03 17:13:03 +01:00
drm_encoder_slave.c
drm_fb_cma_helper.c
drm_fb_helper.c drm: Remove compiler BUG_ON() test 2014-11-04 09:47:45 +01:00
drm_flip_work.c drm: flip-work: change drm_flip_work_init prototype 2014-11-15 09:29:14 +10:00
drm_fops.c drm: Fix memory leak at error path of drm_read() 2014-12-04 13:28:42 +01:00
drm_gem_cma_helper.c drm/cma: Remove call to drm_gem_free_mmap_offset() 2014-11-13 13:27:33 +01:00
drm_gem.c drm: Sanitize DRM_IOCTL_MODE_CREATE_DUMB input 2014-11-15 09:50:21 +10:00
drm_global.c
drm_hashtab.c
drm_info.c drm/info: Remove unused code 2014-12-16 18:44:34 +01:00
drm_internal.h drm/info: Remove unused code 2014-12-16 18:44:34 +01:00
drm_ioc32.c
drm_ioctl.c
drm_irq.c drm: Prefer sizeof(type) over sizeof type 2014-12-10 14:15:13 +01:00
drm_legacy.h
drm_lock.c
drm_memory.c
drm_mipi_dsi.c drm/dsi: Do not require .owner field to be set 2014-11-13 13:56:17 +01:00
drm_mm.c
drm_modes.c drm: Perform basic sanity checks on probed modes 2014-12-17 18:29:35 +01:00
drm_modeset_lock.c drm: Per-plane locking 2014-11-12 17:56:12 +10:00
drm_of.c
drm_panel.c
drm_pci.c
drm_plane_helper.c drm/plane-helper: Test for plane disable earlier 2014-12-11 16:57:18 +01:00
drm_platform.c
drm_prime.c drm: Miscellaneous fixes for v3.19-rc1 2014-11-15 09:37:20 +10:00
drm_probe_helper.c drm: Perform basic sanity checks on probed modes 2014-12-17 18:29:35 +01:00
drm_rect.c
drm_scatter.c
drm_sysfs.c
drm_trace_points.c
drm_trace.h
drm_vm.c
drm_vma_manager.c
Kconfig
Makefile drm: Add atomic/plane helpers 2014-11-05 18:07:01 +01:00