2022-02-09 19:37:05

by Jeffrey Hugo

[permalink] [raw]
Subject: [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]>
---

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-02-14 10:07:57

by Pekka Paalanen

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

On Wed, 9 Feb 2022 11:57:27 -0700
Jeffrey Hugo <[email protected]> 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]>
> ---
>
> 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

Hi,

I think this is correct, but I didn't actually check the code, so

Acked-by: Pekka Paalanen <[email protected]>


Thanks,
pq


Attachments:
(No filename) (849.00 B)
OpenPGP digital signature