drm/virtio: Add option to disable KMS support
authorRob Clark <robdclark@chromium.org>
Thu, 2 Mar 2023 23:35:06 +0000 (15:35 -0800)
committerDmitry Osipenko <dmitry.osipenko@collabora.com>
Fri, 3 Mar 2023 20:29:54 +0000 (23:29 +0300)
commit72122c69d71784e390527819754ea456421c4501
tree329e85fe325c48e0add6c7277966f6543d406bf0
parente3ecbd21776f1ff7610dc2c28b3b47ba8c23e10d
drm/virtio: Add option to disable KMS support

Add a build option to disable modesetting support.  This is useful in
cases where the guest only needs to use the GPU in a headless mode, or
(such as in the CrOS usage) window surfaces are proxied to a host
compositor.

As the modesetting ioctls are a big surface area for potential security
bugs to be found (it's happened in the past, we should assume it will
again in the future), it makes sense to have a build option to disable
those ioctls in cases where they serve no legitimate purpose.

v2: Use more if (IS_ENABLED(...))
v3: Also permit the host to advertise no scanouts
v4: Spiff out commit msg
v5: Make num_scanouts==0 and DRM_VIRTIO_GPU_KMS=n behave the same
v6: Drop conditionally building virtgpu_display.c and early-out of
    it's init/fini fxns instead

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230302233506.3146290-1-robdclark@gmail.com
drivers/gpu/drm/virtio/Kconfig
drivers/gpu/drm/virtio/virtgpu_display.c
drivers/gpu/drm/virtio/virtgpu_drv.c
drivers/gpu/drm/virtio/virtgpu_kms.c