dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] drm: tweak permission handling
@ 2018-12-19 19:22 Emil Velikov
  2018-12-19 19:22 ` [PATCH 1/3] drm: change DROP_MASTER permissions to allow DRM_MASTER Emil Velikov
                   ` (3 more replies)
  0 siblings, 4 replies; 17+ messages in thread
From: Emil Velikov @ 2018-12-19 19:22 UTC (permalink / raw)
  To: dri-devel; +Cc: emil.l.velikov

Hi all,

This series relaxes some permission handling we have in core.

The first patch, swaps the DRM_ROOT_ONLY to DRM_MASTER on DROP_MASTER
ioctls. Thus any application can drop privileges just after SET_MASTER
and not worry about elevating them, solely for DROP_MASTER.

The last commit, admittedly works around userspace bugs. Although it's
far better than the "run as root" approach that people have been using.

It has the extra side effect of allowing some userspace (but not all)
to use vgem without any modifications ;-)

Would be great if this series is checked through the Intel GFX trybot
but I'm not sure how to do that.

Any comments, review or general ack's are appreciated.

Thanks
Emil

Emil Velikov (3):
  drm: change DROP_MASTER permissions to allow DRM_MASTER
  drm: annotate drm_core_check_feature() dev arg. as const
  drm: allow render capable master with DRM_AUTH ioctls

 drivers/gpu/drm/drm_ioctl.c | 10 +++++++---
 include/drm/drm_drv.h       |  2 +-
 2 files changed, 8 insertions(+), 4 deletions(-)

-- 
2.19.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 17+ messages in thread
* [PATCH 1/3] drm/vmwgfx: check master authentication in surface_ref ioctls
@ 2019-07-03 13:31 Emil Velikov
  2019-07-03 13:31 ` [PATCH 3/3] drm: allow render capable master with DRM_AUTH ioctls Emil Velikov
  0 siblings, 1 reply; 17+ messages in thread
From: Emil Velikov @ 2019-07-03 13:31 UTC (permalink / raw)
  To: dri-devel; +Cc: VMware Graphics, Thomas Hellstrom, emil.l.velikov

From: Emil Velikov <emil.velikov@collabora.com>

With later commit we'll rework DRM core authentication handling.

Namely unauthenticated master will be allowed with, DRM_AUTH ioctls.
Since vmwgfx does additional master locking and DRM_AUTH handling, this
will not matter almost all cases.

The only exception being using the legacy handle type in the family of
surface_reference iocts - all handled by vmw_surface_handle_reference().
Add the check to ensure such clients do not access more than they should

Cc: VMware Graphics <linux-graphics-maintainer@vmware.com>
Cc: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
---
I'd like to merge this through the drm-misc tree. Ack and rb are
appreciated.

Thanks
Emil

Unrelated: worth moving the is_render_client check alongside the
is_primary_client one.
---
 drivers/gpu/drm/vmwgfx/vmwgfx_surface.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c b/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c
index 219471903bc1..1f5146c95785 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c
@@ -940,6 +940,13 @@ vmw_surface_handle_reference(struct vmw_private *dev_priv,
 		user_srf = container_of(base, struct vmw_user_surface,
 					prime.base);
 
+		/* Error out if we are unauthenticated master */
+		if (drm_is_primary_client(file_priv) &&
+		    !file_priv->authenticated) {
+			ret = -EACCES;
+			goto out_bad_resource;
+		}
+
 		/*
 		 * Make sure the surface creator has the same
 		 * authenticating master, or is already registered with us.
-- 
2.21.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2019-07-03 13:31 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-19 19:22 [PATCH 0/3] drm: tweak permission handling Emil Velikov
2018-12-19 19:22 ` [PATCH 1/3] drm: change DROP_MASTER permissions to allow DRM_MASTER Emil Velikov
2018-12-19 20:36   ` Daniel Vetter
2018-12-20 13:50     ` Emil Velikov
2018-12-20 14:45       ` Daniel Vetter
2018-12-20 19:09         ` Emil Velikov
2018-12-19 19:22 ` [PATCH 2/3] drm: annotate drm_core_check_feature() dev arg. as const Emil Velikov
2018-12-19 20:35   ` Daniel Vetter
2018-12-19 19:22 ` [PATCH 3/3] drm: allow render capable master with DRM_AUTH ioctls Emil Velikov
2018-12-19 20:34   ` Daniel Vetter
2018-12-20 15:16     ` Emil Velikov
2018-12-20 15:34       ` Daniel Vetter
2018-12-19 20:30 ` [PATCH 0/3] drm: tweak permission handling Daniel Vetter
2018-12-19 20:37   ` Daniel Vetter
2018-12-20 12:56     ` Emil Velikov
2018-12-20 14:43       ` Daniel Vetter
  -- strict thread matches above, loose matches on Subject: below --
2019-07-03 13:31 [PATCH 1/3] drm/vmwgfx: check master authentication in surface_ref ioctls Emil Velikov
2019-07-03 13:31 ` [PATCH 3/3] drm: allow render capable master with DRM_AUTH ioctls Emil Velikov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox