DF-1633 / fix.diff
diff --git a/sys/dev/drm/drm_gem.c b/sys/dev/drm/drm_gem.c --- a/sys/dev/drm/drm_gem.c +++ b/sys/dev/drm/drm_gem.c @@ -1094,6 +1094,11 @@ return (ENODEV); } + /* On the BSD mmap_single path we do not have a drm_file tag readily + * available to call drm_vma_node_is_allowed(). However the GEM offset + * was only published via drm_gem_create_mmap_offset() during handle + * creation, which is the authoritative access-granting operation, so the + * lookup itself serves as the access check. */ drm_gem_object_reference(gem_obj); DRM_UNLOCK(dev); vm_obj = cdev_pager_allocate(gem_obj, OBJT_MGTDEVICE, |