Support for "control" nodes was removed from the drm subsystem some time
authorkettenis <kettenis@openbsd.org>
Fri, 29 Dec 2023 10:00:18 +0000 (10:00 +0000)
committerkettenis <kettenis@openbsd.org>
Fri, 29 Dec 2023 10:00:18 +0000 (10:00 +0000)
commit756efb7c9b93277738d7d371841f2aea25e0465d
tree80c18c2f1dd63d10124b9d41d415c60b0cec2244
parent65e4977585c50d52eefa76b2f84329467dcef268
Support for "control" nodes was removed from the drm subsystem some time
ago, but some code in drmopen() remained which means that opening a drm
device node with a minor that matches the range for the "control" nodes
will hit a kernel assertion.  A similar issue exists for "render" nodes
corresponding to a driver that only supports KMS (such as rkdrm(4)).

Add checks to see if the minor is valid and return ENXIO if that isn't the
case to prevent a kernel crash.

ok jsg@, miod@
sys/dev/pci/drm/drm_drv.c