public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm: Check for lessee in DROP_MASTER ioctl
@ 2018-01-19  1:51 Keith Packard
  2018-01-30  9:34 ` Daniel Vetter
  0 siblings, 1 reply; 4+ messages in thread
From: Keith Packard @ 2018-01-19  1:51 UTC (permalink / raw)
  To: linux-kernel, Dave Airlie, Daniel Vetter; +Cc: Keith Packard, dri-devel

Don't let a lessee control what the current DRM master is set to;
that's the job of the "real" master. Otherwise, the lessee would
disable all access to master operations for the owner and all lessees
under it.

This matches the same check made in the SET_MASTER ioctl.

Signed-off-by: Keith Packard <keithp@keithp.com>
---
 drivers/gpu/drm/drm_auth.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/drm_auth.c b/drivers/gpu/drm/drm_auth.c
index aad468d170a7..d9c0f7573905 100644
--- a/drivers/gpu/drm/drm_auth.c
+++ b/drivers/gpu/drm/drm_auth.c
@@ -230,6 +230,12 @@ int drm_dropmaster_ioctl(struct drm_device *dev, void *data,
 	if (!dev->master)
 		goto out_unlock;
 
+	if (file_priv->master->lessor != NULL) {
+		DRM_DEBUG_LEASE("Attempt to drop lessee %d as master\n", file_priv->master->lessee_id);
+		ret = -EINVAL;
+		goto out_unlock;
+	}
+
 	ret = 0;
 	drm_drop_master(dev, file_priv);
 out_unlock:
-- 
2.15.1

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

* Re: [PATCH] drm: Check for lessee in DROP_MASTER ioctl
  2018-01-19  1:51 [PATCH] drm: Check for lessee in DROP_MASTER ioctl Keith Packard
@ 2018-01-30  9:34 ` Daniel Vetter
  2018-01-30 19:55   ` Keith Packard
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel Vetter @ 2018-01-30  9:34 UTC (permalink / raw)
  To: Keith Packard; +Cc: linux-kernel, Dave Airlie, Daniel Vetter, dri-devel

On Thu, Jan 18, 2018 at 05:51:59PM -0800, Keith Packard wrote:
> Don't let a lessee control what the current DRM master is set to;
> that's the job of the "real" master. Otherwise, the lessee would
> disable all access to master operations for the owner and all lessees
> under it.
> 
> This matches the same check made in the SET_MASTER ioctl.
> 
> Signed-off-by: Keith Packard <keithp@keithp.com>

Similar check for setmaster already exists, so looks all good. Do we have
an igt for all this? Iirc there was one floating around, but no idea
what's the status. Might also be good to resubmit them so i915 CI can run
the tests (now that the code has landed).

On the patch itself, minus lack of testcases:

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

> ---
>  drivers/gpu/drm/drm_auth.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/drm_auth.c b/drivers/gpu/drm/drm_auth.c
> index aad468d170a7..d9c0f7573905 100644
> --- a/drivers/gpu/drm/drm_auth.c
> +++ b/drivers/gpu/drm/drm_auth.c
> @@ -230,6 +230,12 @@ int drm_dropmaster_ioctl(struct drm_device *dev, void *data,
>  	if (!dev->master)
>  		goto out_unlock;
>  
> +	if (file_priv->master->lessor != NULL) {
> +		DRM_DEBUG_LEASE("Attempt to drop lessee %d as master\n", file_priv->master->lessee_id);
> +		ret = -EINVAL;
> +		goto out_unlock;
> +	}
> +
>  	ret = 0;
>  	drm_drop_master(dev, file_priv);
>  out_unlock:
> -- 
> 2.15.1
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

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

* Re: [PATCH] drm: Check for lessee in DROP_MASTER ioctl
  2018-01-30  9:34 ` Daniel Vetter
@ 2018-01-30 19:55   ` Keith Packard
  2018-01-31  8:13     ` Daniel Vetter
  0 siblings, 1 reply; 4+ messages in thread
From: Keith Packard @ 2018-01-30 19:55 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: linux-kernel, Dave Airlie, Daniel Vetter, dri-devel

[-- Attachment #1: Type: text/plain, Size: 1139 bytes --]

Daniel Vetter <daniel@ffwll.ch> writes:

> On Thu, Jan 18, 2018 at 05:51:59PM -0800, Keith Packard wrote:
>> Don't let a lessee control what the current DRM master is set to;
>> that's the job of the "real" master. Otherwise, the lessee would
>> disable all access to master operations for the owner and all lessees
>> under it.
>> 
>> This matches the same check made in the SET_MASTER ioctl.
>> 
>> Signed-off-by: Keith Packard <keithp@keithp.com>
>
> Similar check for setmaster already exists, so looks all good. Do we have
> an igt for all this? Iirc there was one floating around, but no idea
> what's the status. Might also be good to resubmit them so i915 CI can run
> the tests (now that the code has landed).

I've got IGT tests for leasing which have been posted to dri-devel but I
don't think they've been reviewed. Looks like they could use some more
test cases; I didn't catch this one until I was playing with my 'xlease'
hack, which runs the X server on a leased FD.

> On the patch itself, minus lack of testcases:
>
> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Thanks!

-- 
-keith

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

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

* Re: [PATCH] drm: Check for lessee in DROP_MASTER ioctl
  2018-01-30 19:55   ` Keith Packard
@ 2018-01-31  8:13     ` Daniel Vetter
  0 siblings, 0 replies; 4+ messages in thread
From: Daniel Vetter @ 2018-01-31  8:13 UTC (permalink / raw)
  To: Keith Packard; +Cc: Daniel Vetter, linux-kernel, Dave Airlie, dri-devel

On Tue, Jan 30, 2018 at 11:55:01AM -0800, Keith Packard wrote:
> Daniel Vetter <daniel@ffwll.ch> writes:
> 
> > On Thu, Jan 18, 2018 at 05:51:59PM -0800, Keith Packard wrote:
> >> Don't let a lessee control what the current DRM master is set to;
> >> that's the job of the "real" master. Otherwise, the lessee would
> >> disable all access to master operations for the owner and all lessees
> >> under it.
> >> 
> >> This matches the same check made in the SET_MASTER ioctl.
> >> 
> >> Signed-off-by: Keith Packard <keithp@keithp.com>
> >
> > Similar check for setmaster already exists, so looks all good. Do we have
> > an igt for all this? Iirc there was one floating around, but no idea
> > what's the status. Might also be good to resubmit them so i915 CI can run
> > the tests (now that the code has landed).
> 
> I've got IGT tests for leasing which have been posted to dri-devel but I
> don't think they've been reviewed. Looks like they could use some more
> test cases; I didn't catch this one until I was playing with my 'xlease'
> hack, which runs the X server on a leased FD.

Can you pls resubmit (preferrably with the new nasty tests added) to
igt-dev@lists.freedesktop.org (we have a new m-l for igt stuff)?

> > On the patch itself, minus lack of testcases:
> >
> > Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> 
> Thanks!

Realized I should better apply this, and done :-)
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

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

end of thread, other threads:[~2018-01-31  8:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-19  1:51 [PATCH] drm: Check for lessee in DROP_MASTER ioctl Keith Packard
2018-01-30  9:34 ` Daniel Vetter
2018-01-30 19:55   ` Keith Packard
2018-01-31  8:13     ` Daniel Vetter

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