Re: [PATCH 3/4] drm: Check mode object lease status in all master ioctl paths
From: Keith Packard
Date: Sun Apr 02 2017 - 12:37:34 EST
Daniel Vetter <daniel@xxxxxxxx> writes:
> I think it'd be good if we could consolidate all the lease checking into
> drm_mode_object_find (respectively __drm_mode_object_find). We'd need to
> wire up the fpriv to be able to do that, but we could upstream that patch
> right away before anything else. That should take care of most of the
> checks in this patch here.
That's a good idea.
> There's a few things on top:
> - filtering the various bitmasks. I think you have most, but we could
> perhaps upstream the helpers for these.
Yeah, would be nice to get hooks in place soon to avoid rebase
adventures later. I guess that would involve shipping a stub drm_lease.h
for now?
> - filtering object lists (essentially getresources and getplanes ioctls).
> - filtering implicit objects in the legacy ioctl. E.g. page_flip done
> through atomic doesn't just need the CRTC id, but also the id of the
> primary plane plus of the FB_ID atomic property. Similarly for all the
> other legacy ioctls. I think we want to make sure there's no difference
> here in behaviour.
Oh, all of the implicit resource access from the legacy ioctls. Yeah,
that will take a bit of research to identify all of them.
> Especially for the last one it might be simplest to outright disallow all
> legacy ioctl and require that sub-drm_master nodes only get access to the
> read-only GET* ioctl (they get that anyway, even when they're not the
> current master), plus atomic. Makes it a _lot_ easier to implement.
> Downside is that amdgpu _really_ needs to land atomic asap :-)
I'd like to avoid that particular dependency as amdgpu is something of a
requirement for this particular project...
I'll get started fixing the lease checking stuff to try and centralize it.
--
-keith
Attachment:
signature.asc
Description: PGP signature