drm/vmwgfx: Allow dropped masters render-node like access on legacy nodes v2
Applications like gnome-shell may try to render after dropping master privileges. Since the driver should now be safe against this scenario, allow those applications to use their legacy node like a render node. v2: Add missing return statement. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Sinclair Yeh <syeh@vmware.com>
This commit is contained in:
parent
36d4e87b49
commit
aa3469ce7a
@ -1052,10 +1052,15 @@ static struct vmw_master *vmw_master_check(struct drm_device *dev,
|
||||
}
|
||||
|
||||
/*
|
||||
* Check if we were previously master, but now dropped.
|
||||
* Check if we were previously master, but now dropped. In that
|
||||
* case, allow at least render node functionality.
|
||||
*/
|
||||
if (vmw_fp->locked_master) {
|
||||
mutex_unlock(&dev->master_mutex);
|
||||
|
||||
if (flags & DRM_RENDER_ALLOW)
|
||||
return NULL;
|
||||
|
||||
DRM_ERROR("Dropped master trying to access ioctl that "
|
||||
"requires authentication.\n");
|
||||
return ERR_PTR(-EACCES);
|
||||
|
@ -911,6 +911,12 @@ vmw_surface_handle_reference(struct vmw_private *dev_priv,
|
||||
"surface reference.\n");
|
||||
return -EACCES;
|
||||
}
|
||||
if (ACCESS_ONCE(vmw_fpriv(file_priv)->locked_master)) {
|
||||
DRM_ERROR("Locked master refused legacy "
|
||||
"surface reference.\n");
|
||||
return -EACCES;
|
||||
}
|
||||
|
||||
handle = u_handle;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user