Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa3469ce authored by Thomas Hellstrom's avatar Thomas Hellstrom
Browse files

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: default avatarThomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: default avatarSinclair Yeh <syeh@vmware.com>
parent 36d4e87b
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -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);
+6 −0
Original line number Diff line number Diff line
@@ -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;
	}