From: Keith Packard <keithp@keithp.com> To: linux-kernel@vger.kernel.org, Dave Airlie <airlied@redhat.com>, Daniel Vetter <daniel@ffwll.ch> Cc: Keith Packard <keithp@keithp.com>, dri-devel@lists.freedesktop.org Subject: [PATCH 0/5] drm: Add mode resource leasing [v2] Date: Fri, 28 Apr 2017 23:06:57 -0700 [thread overview] Message-ID: <20170429060702.6656-1-keithp@keithp.com> (raw) In-Reply-To: <20170401170841.2643-1-keithp@keithp.com> Here's a second try at mode resource leasing. The differences from v1 are mostly deleting functionality that isn't currently useful. There are no more sub-leases; there's the owner, the owner is the only lessor and so the only one who can create leases and hand those out. The lessor can now manipulate all of the resources without restriction. It's up to user space to enforce whatever access control it wants. The lessee can no longer see any resources other than those in the lease. This was a bit tricky as there are various indices into the reported arrays of objects in the form of masks. The query ioctls no longer take lessor or lessee ids; you can query the leases you have granted or query the list of resources in your own lease. The X server uses the former to figure out when lessees close their DRM file and terminate a lease. As I write this, I'm wondering if that latter operation is actually useful though. If not, we can rip that ioctl out easily enough. As suggested by Daniel Vetter, the first patch changes the API to __drm_mode_object_find to include a relevant struct drm_file * pointer so that function can perform any necessary per-file access control. When there isn't a suitable pointer, NULL is passed instead, which is a proxy for the origin DRM master. For leases, this means that no lease permissions checking is done. This is why there are now 5 patches instead of the original 4. Thanks again to everyone who commented on the mailing list or on IRC; I'm pretty happy with the current functionality; I've got kmscube leasing resources from the X server this evening.
WARNING: multiple messages have this Message-ID (diff)
From: Keith Packard <keithp@keithp.com> To: linux-kernel@vger.kernel.org, Dave Airlie <airlied@redhat.com>, Daniel Vetter <daniel@ffwll.ch> Cc: Keith Packard <keithp@keithp.com>, dri-devel@lists.freedesktop.org Subject: [PATCH 0/5] drm: Add mode resource leasing [v2] Date: Fri, 28 Apr 2017 23:06:57 -0700 [thread overview] Message-ID: <20170429060702.6656-1-keithp@keithp.com> (raw) In-Reply-To: <20170401170841.2643-1-keithp@keithp.com> Here's a second try at mode resource leasing. The differences from v1 are mostly deleting functionality that isn't currently useful. There are no more sub-leases; there's the owner, the owner is the only lessor and so the only one who can create leases and hand those out. The lessor can now manipulate all of the resources without restriction. It's up to user space to enforce whatever access control it wants. The lessee can no longer see any resources other than those in the lease. This was a bit tricky as there are various indices into the reported arrays of objects in the form of masks. The query ioctls no longer take lessor or lessee ids; you can query the leases you have granted or query the list of resources in your own lease. The X server uses the former to figure out when lessees close their DRM file and terminate a lease. As I write this, I'm wondering if that latter operation is actually useful though. If not, we can rip that ioctl out easily enough. As suggested by Daniel Vetter, the first patch changes the API to __drm_mode_object_find to include a relevant struct drm_file * pointer so that function can perform any necessary per-file access control. When there isn't a suitable pointer, NULL is passed instead, which is a proxy for the origin DRM master. For leases, this means that no lease permissions checking is done. This is why there are now 5 patches instead of the original 4. Thanks again to everyone who commented on the mailing list or on IRC; I'm pretty happy with the current functionality; I've got kmscube leasing resources from the X server this evening. _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2017-04-29 6:07 UTC|newest] Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-04-01 17:08 [PATCH 0/4] drm: Add mode resource leasing Keith Packard 2017-04-01 17:08 ` [PATCH 1/4] drm: Add new LEASE debug level Keith Packard 2017-04-01 17:08 ` [PATCH 2/4] drm: Add drm_object lease infrastructure Keith Packard 2017-04-02 13:38 ` Daniel Vetter 2017-04-02 13:38 ` Daniel Vetter 2017-04-02 16:31 ` Keith Packard 2017-04-10 5:16 ` Michel Dänzer 2017-04-10 5:16 ` Michel Dänzer 2017-04-02 17:51 ` Daniel Vetter 2017-04-02 17:51 ` Daniel Vetter 2017-04-02 19:59 ` Keith Packard 2017-04-01 17:08 ` [PATCH 3/4] drm: Check mode object lease status in all master ioctl paths Keith Packard 2017-04-02 13:19 ` Daniel Vetter 2017-04-02 13:19 ` Daniel Vetter 2017-04-02 16:37 ` Keith Packard 2017-04-03 7:49 ` Daniel Vetter 2017-04-03 7:49 ` Daniel Vetter 2017-04-10 1:06 ` Keith Packard 2017-04-10 1:06 ` Keith Packard 2017-04-01 17:08 ` [PATCH 4/4] drm: Add four ioctls for managing drm mode object leases Keith Packard 2017-04-02 13:23 ` Daniel Vetter 2017-04-02 13:23 ` Daniel Vetter 2017-04-02 16:44 ` Keith Packard 2017-04-29 6:06 ` Keith Packard [this message] 2017-04-29 6:06 ` [PATCH 0/5] drm: Add mode resource leasing [v2] Keith Packard 2017-04-29 6:06 ` [PATCH 1/5] drm: Pass struct drm_file * to __drm_mode_object_find Keith Packard 2017-04-29 6:06 ` Keith Packard 2017-04-29 6:06 ` [PATCH 2/5] drm: Add new LEASE debug level Keith Packard 2017-04-29 6:06 ` Keith Packard 2017-04-29 6:07 ` [PATCH 3/5] drm: Add drm_object lease infrastructure [v2] Keith Packard 2017-04-29 6:07 ` Keith Packard 2017-04-29 6:07 ` [PATCH 4/5] drm: Check mode object lease status in all master ioctl paths [v2] Keith Packard 2017-04-29 6:07 ` Keith Packard 2017-04-29 6:07 ` [PATCH 5/5] drm: Add three ioctls for managing drm mode object leases [v2] Keith Packard 2017-04-29 6:07 ` Keith Packard
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20170429060702.6656-1-keithp@keithp.com \ --to=keithp@keithp.com \ --cc=airlied@redhat.com \ --cc=daniel@ffwll.ch \ --cc=dri-devel@lists.freedesktop.org \ --cc=linux-kernel@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.