2022-03-07 23:11:13

by Jeffrey Hugo

[permalink] [raw]
Subject: [RESEND PATCH] drm/doc: Clarify what ioctls can be used on render nodes

The documentation for render nodes indicates that only "PRIME-related"
ioctls are valid on render nodes, but the documentation does not clarify
what that means. If the reader is not familiar with PRIME, they may
beleive this to be only the ioctls with "PRIME" in the name and not other
ioctls such as set of syncobj ioctls. Clarify the situation for the
reader by referencing where the reader will find a current list of valid
ioctls.

Signed-off-by: Jeffrey Hugo <[email protected]>
Acked-by: Pekka Paalanen <[email protected]>
---

I was confused by this when reading the documentation. Now that I have
figured out what the documentation means, I would like to add a clarification
for the next reader which would have helped me.

Documentation/gpu/drm-uapi.rst | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/gpu/drm-uapi.rst b/Documentation/gpu/drm-uapi.rst
index 199afb5..ce47b42 100644
--- a/Documentation/gpu/drm-uapi.rst
+++ b/Documentation/gpu/drm-uapi.rst
@@ -148,7 +148,9 @@ clients together with the legacy drmAuth authentication procedure.
If a driver advertises render node support, DRM core will create a
separate render node called renderD<num>. There will be one render node
per device. No ioctls except PRIME-related ioctls will be allowed on
-this node. Especially GEM_OPEN will be explicitly prohibited. Render
+this node. Especially GEM_OPEN will be explicitly prohibited. For a
+complete list of driver-independent ioctls that can be used on render
+nodes, see the ioctls marked DRM_RENDER_ALLOW in drm_ioctl.c Render
nodes are designed to avoid the buffer-leaks, which occur if clients
guess the flink names or mmap offsets on the legacy interface.
Additionally to this basic interface, drivers must mark their
--
2.7.4


2022-03-17 12:09:51

by Daniel Vetter

[permalink] [raw]
Subject: Re: [RESEND PATCH] drm/doc: Clarify what ioctls can be used on render nodes

On Mon, Mar 07, 2022 at 08:32:36AM -0700, Jeffrey Hugo wrote:
> The documentation for render nodes indicates that only "PRIME-related"
> ioctls are valid on render nodes, but the documentation does not clarify
> what that means. If the reader is not familiar with PRIME, they may
> beleive this to be only the ioctls with "PRIME" in the name and not other
> ioctls such as set of syncobj ioctls. Clarify the situation for the
> reader by referencing where the reader will find a current list of valid
> ioctls.
>
> Signed-off-by: Jeffrey Hugo <[email protected]>
> Acked-by: Pekka Paalanen <[email protected]>

Applied to drm-misc-next, thanks for the patch.
-Daniel

> ---
>
> I was confused by this when reading the documentation. Now that I have
> figured out what the documentation means, I would like to add a clarification
> for the next reader which would have helped me.
>
> Documentation/gpu/drm-uapi.rst | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/gpu/drm-uapi.rst b/Documentation/gpu/drm-uapi.rst
> index 199afb5..ce47b42 100644
> --- a/Documentation/gpu/drm-uapi.rst
> +++ b/Documentation/gpu/drm-uapi.rst
> @@ -148,7 +148,9 @@ clients together with the legacy drmAuth authentication procedure.
> If a driver advertises render node support, DRM core will create a
> separate render node called renderD<num>. There will be one render node
> per device. No ioctls except PRIME-related ioctls will be allowed on
> -this node. Especially GEM_OPEN will be explicitly prohibited. Render
> +this node. Especially GEM_OPEN will be explicitly prohibited. For a
> +complete list of driver-independent ioctls that can be used on render
> +nodes, see the ioctls marked DRM_RENDER_ALLOW in drm_ioctl.c Render
> nodes are designed to avoid the buffer-leaks, which occur if clients
> guess the flink names or mmap offsets on the legacy interface.
> Additionally to this basic interface, drivers must mark their
> --
> 2.7.4
>

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