2022-02-01 11:25:11

by Demi Marie Obenour

[permalink] [raw]
Subject: [PATCH] Improve docs for IOCTL_GNTDEV_MAP_GRANT_REF

The current implementation of gntdev guarantees that the first call to
IOCTL_GNTDEV_MAP_GRANT_REF will set @index to 0. This is required to
use gntdev for Wayland, which is a future desire of Qubes OS.
Additionally, requesting zero grants results in an error, but this was
not documented either. Document both of these.
---
include/uapi/xen/gntdev.h | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/include/uapi/xen/gntdev.h b/include/uapi/xen/gntdev.h
index 9ac5515b9bc2..7a7145395c09 100644
--- a/include/uapi/xen/gntdev.h
+++ b/include/uapi/xen/gntdev.h
@@ -47,7 +47,13 @@ struct ioctl_gntdev_grant_ref {
/*
* Inserts the grant references into the mapping table of an instance
* of gntdev. N.B. This does not perform the mapping, which is deferred
- * until mmap() is called with @index as the offset.
+ * until mmap() is called with @index as the offset. @index should be
+ * considered opaque to userspace, with one exception: if no grant
+ * references have ever been inserted into the mapping table of this
+ * instance, @index will be set to 0. This is necessary to use gntdev
+ * with userspace APIs that expect a file descriptor that can be
+ * mmap()'d at offset 0, such as Wayland. If @count is set to 0, this
+ * ioctl will fail.
*/
#define IOCTL_GNTDEV_MAP_GRANT_REF \
_IOC(_IOC_NONE, 'G', 0, sizeof(struct ioctl_gntdev_map_grant_ref))
--
Sincerely,
Demi Marie Obenour
she/her/hers


Attachments:
OpenPGP_0xB288B55FFF9C22C1.asc (4.85 kB)
OpenPGP public key
OpenPGP_signature (849.00 B)
OpenPGP digital signature
Download all attachments

2022-02-01 15:30:12

by Jürgen Groß

[permalink] [raw]
Subject: Re: [PATCH] Improve docs for IOCTL_GNTDEV_MAP_GRANT_REF

On 30.01.22 19:35, Demi Marie Obenour wrote:
> The current implementation of gntdev guarantees that the first call to
> IOCTL_GNTDEV_MAP_GRANT_REF will set @index to 0. This is required to
> use gntdev for Wayland, which is a future desire of Qubes OS.
> Additionally, requesting zero grants results in an error, but this was
> not documented either. Document both of these.

Please add a "Signed-off-by:" tag to your commit message.

See Documentation/process/submitting-patches.rst in the kernel source
tree, look for "Sign your work - the Developer's Certificate of Origin".


Juergen


Attachments:
OpenPGP_0xB0DE9DD628BF132F.asc (3.08 kB)
OpenPGP public key
OpenPGP_signature (505.00 B)
OpenPGP digital signature
Download all attachments