diff options
author | Robert Noland <rnoland@2hip.net> | 2008-09-17 23:10:15 -0400 |
---|---|---|
committer | Robert Noland <rnoland@2hip.net> | 2008-09-17 23:15:08 -0400 |
commit | 8ca06eb492f861dbf049a2e104e4e2a5ba814c13 (patch) | |
tree | d8fcb83dc398ce6e6d9d9d574d7b64e6939651e3 /bsd-core/drm_vm.c | |
parent | ee6bcabc506e4d506fb65447c405f8514ab1f4e1 (diff) |
[FreeBSD] Convert to using cdevpriv for file_priv tracking
Diffstat (limited to 'bsd-core/drm_vm.c')
-rw-r--r-- | bsd-core/drm_vm.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/bsd-core/drm_vm.c b/bsd-core/drm_vm.c index 7fa33c91..8ee49a28 100644 --- a/bsd-core/drm_vm.c +++ b/bsd-core/drm_vm.c @@ -32,20 +32,20 @@ int drm_mmap(struct cdev *kdev, vm_offset_t offset, vm_paddr_t *paddr, int prot) { struct drm_device *dev = drm_get_device_from_kdev(kdev); + struct drm_file *file_priv; drm_local_map_t *map; - drm_file_t *priv; enum drm_map_type type; vm_paddr_t phys; DRM_LOCK(); - priv = drm_find_file_by_proc(dev, DRM_CURPROC); + TAILQ_FOREACH(file_priv, &dev->files, link) + if (file_priv->pid == curthread->td_proc->p_pid && + file_priv->uid == curthread->td_ucred->cr_svuid && + file_priv->authenticated == 1) + break; DRM_UNLOCK(); - if (priv == NULL) { - DRM_ERROR("can't find authenticator\n"); - return EINVAL; - } - if (!priv->authenticated) + if (!file_priv) return EACCES; if (dev->dma && offset >= 0 && offset < ptoa(dev->dma->page_count)) { |