linux/drivers/gpu/drm
Chris Wilson 70109354fe drm: Reject unknown legacy bpp and depth for drm_mode_addfb ioctl
Since this is handling user provided bpp and depth, we need to sanity
check and propagate the EINVAL back rather than assume what the insane
client intended and fill the logs with DRM_ERROR.

v2: Check both bpp and depth match the builtin pixel format, and
introduce a canonical DRM_FORMAT_INVALID to reserve 0 against any future
fourcc.

v3: Mark up DRM_FORMAT_C8 as being {bpp:8, depth:8}

Testcase: igt/kms_addfb_basic/legacy-format
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20180905153116.28924-1-chris@chris-wilson.co.uk
2018-09-06 08:07:41 +01:00
..
amd drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() 2018-09-03 18:16:36 +02:00
arc
arm Merge drm/drm-next into drm-misc-next 2018-08-27 10:00:03 -04:00
armada drm/armada: remove obsolete fb unreferencing kfifo and workqueue 2018-07-30 11:53:06 +01:00
ast
atmel-hlcdc drm/atmel-hlcdc: support bus-width (12/16/18/24) in endpoint nodes 2018-08-27 21:22:52 +02:00
bochs drm/bochs: use simpler remove_conflicting_pci_framebuffers() 2018-09-03 18:17:06 +02:00
bridge drm/bridge: ti-sn65dsi86: Add mystery delay to enable() 2018-08-27 10:57:20 -04:00
cirrus drm/cirrus: use simpler remove_conflicting_pci_framebuffers() 2018-09-03 18:16:47 +02:00
etnaviv Merge branch 'etnaviv/next' of https://git.pengutronix.de/git/lst/linux into drm-next 2018-08-08 06:07:30 +10:00
exynos
fsl-dcu
gma500 Merge drm/drm-next into drm-misc-next 2018-08-27 10:00:03 -04:00
hisilicon
i2c VLA leftovers pull summary: 2018-08-17 10:40:09 -07:00
i810
i915 Merge drm/drm-next into drm-misc-next 2018-08-27 10:00:03 -04:00
imx Merge drm/drm-next into drm-misc-next 2018-08-27 10:00:03 -04:00
lib
mediatek Char/Misc driver patches for 4.19-rc1 2018-08-18 11:04:51 -07:00
meson
mga
mgag200 drm/mgag200: use simpler remove_conflicting_pci_framebuffers() 2018-09-03 18:17:32 +02:00
msm Merge drm/drm-next into drm-misc-next 2018-08-27 10:00:03 -04:00
mxsfb
nouveau drm: replace DRIVER_PREFER_XBGR_30BPP driver flag with mode_config quirk 2018-09-06 08:40:17 +02:00
omapdrm
panel drm/panel: simple: tv123wam: Add unprepare delay 2018-08-14 13:42:37 -04:00
pl111
qxl qxl: fix null-pointer crash during suspend 2018-09-05 08:26:24 +02:00
r128
radeon drm/radeon: use simpler remove_conflicting_pci_framebuffers() 2018-09-03 18:17:20 +02:00
rcar-du drm/crc: Cleanup crtc_crc_open function 2018-08-22 09:47:58 -07:00
rockchip drm/rockchip: rgb: add stub functions when rgb encoder is disabled 2018-09-05 15:43:14 -04:00
savage
scheduler drm/scheduler: fix param documentation 2018-08-09 11:57:39 -05:00
selftests
shmobile
sis
sti drm/sti: do not remove the drm_bridge that was never added 2018-08-07 15:33:00 +02:00
stm
sun4i drm/sun4i: Add support for HDMI voltage regulator 2018-09-05 09:20:28 +02:00
tdfx
tegra drm/tegra: kick out simplefb 2018-09-03 18:18:08 +02:00
tilcdc
tinydrm drm/tinydrm: Replace drm_dev_unref with drm_dev_put 2018-08-07 17:09:15 +02:00
ttm drm/ttm: clean up non-x86 definitions on ttm_tt 2018-08-01 17:23:56 -05:00
tve200
udl Merge branch 'drm-udl-next' of git://people.freedesktop.org/~airlied/linux into drm-next 2018-07-31 08:24:33 +10:00
v3d drm/scheduler: modify API to avoid redundancy 2018-07-25 15:06:19 -05:00
vc4 drm/vc4: use simpler remove_conflicting_framebuffers(NULL) 2018-09-03 18:17:50 +02:00
vgem drm/vgem: Remove unecessary dma_fence_ops 2018-08-17 11:22:58 +02:00
via
virtio drm/virtio: add iommu support. 2018-09-05 08:26:26 +02:00
vkms drm/vkms: Fix race condition around accessing frame number 2018-09-05 16:04:50 +02:00
vmwgfx Merge drm/drm-next into drm-misc-next 2018-08-27 10:00:03 -04:00
xen
zte
ati_pcigart.c
drm_agpsupport.c
drm_atomic.c drm: Add per-plane pixel blend mode property 2018-08-24 17:31:37 +01:00
drm_atomic_helper.c Merge drm/drm-next into drm-misc-next 2018-08-27 10:00:03 -04:00
drm_auth.c
drm_blend.c drm: Add per-plane pixel blend mode property 2018-08-24 17:31:37 +01:00
drm_bridge.c
drm_bufs.c
drm_cache.c
drm_client.c
drm_color_mgmt.c
drm_connector.c
drm_context.c
drm_crtc.c
drm_crtc_helper.c
drm_crtc_helper_internal.h
drm_crtc_internal.h
drm_debugfs.c
drm_debugfs_crc.c Revert "drm: crc: Wait for a frame before returning from open()" 2018-08-22 09:50:16 -07:00
drm_dma.c
drm_dp_aux_dev.c
drm_dp_cec.c drm_dp_cec: add note about good MegaChips 2900 CEC support 2018-08-31 10:20:38 +02:00
drm_dp_dual_mode_helper.c
drm_dp_helper.c drm/dp: add missing ')' to I2C nack debug message 2018-08-01 10:00:15 -07:00
drm_dp_mst_topology.c drm_dp_mst_topology: fix broken drm_dp_sideband_parse_remote_dpcd_read() 2018-08-31 10:20:38 +02:00
drm_drv.c
drm_dumb_buffers.c
drm_edid.c drm/edid: Add 6 bpc quirk for SDC panel in Lenovo B50-80 2018-08-23 10:25:39 +02:00
drm_edid_load.c
drm_encoder.c
drm_encoder_slave.c
drm_fb_cma_helper.c drm: Use horizontal and vertical chroma subsampling factor while calculating offsets in the physical address of framebuffer 2018-08-20 14:13:43 +01:00
drm_fb_helper.c
drm_file.c
drm_flip_work.c
drm_fourcc.c drm: Reject unknown legacy bpp and depth for drm_mode_addfb ioctl 2018-09-06 08:07:41 +01:00
drm_framebuffer.c drm: Reject unknown legacy bpp and depth for drm_mode_addfb ioctl 2018-09-06 08:07:41 +01:00
drm_gem.c
drm_gem_cma_helper.c
drm_gem_framebuffer_helper.c
drm_global.c
drm_hashtab.c
drm_info.c
drm_internal.h
drm_ioc32.c
drm_ioctl.c
drm_irq.c
drm_kms_helper_common.c
drm_lease.c
drm_legacy.h
drm_lock.c
drm_memory.c
drm_mipi_dsi.c
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: Fix sphinx warning 2018-08-16 11:30:02 -04:00
drm_panel_orientation_quirks.c
drm_pci.c
drm_plane.c
drm_plane_helper.c
drm_prime.c
drm_print.c drm: Add puts callback for the coredump printer 2018-07-30 08:49:41 -04:00
drm_probe_helper.c
drm_property.c
drm_rect.c
drm_scatter.c
drm_scdc_helper.c
drm_simple_kms_helper.c
drm_syncobj.c drm/syncobj: Drop add/remove_callback from driver interface 2018-08-22 20:49:33 +02:00
drm_sysfs.c
drm_trace.h
drm_trace_points.c
drm_vblank.c drm: Suppress user controlled spam for invalid drm_wait_vblank_ioctl 2018-09-04 18:59:56 +01:00
drm_vm.c
drm_vma_manager.c drm: Remove "protection" around drm_vma_offset_manager_destroy() 2018-09-04 19:00:32 +01:00
drm_writeback.c
Kconfig
Makefile