Message ID | f66c5a4e-2034-00b5-a635-6983bd999c07@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 164666fa66669d437bdcc8d5f1744a2aee73be41 |
Headers | show |
Series | [v2] Improve docs for IOCTL_GNTDEV_MAP_GRANT_REF | expand |
On 31.01.22 18:23, 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. > > Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com> Reviewed-by: Juergen Gross <jgross@suse.com> Juergen
On 31.01.22 18:23, 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. > > Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com> Pushed to xen/tip.git for-linus-5.17a Juergen
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))
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. Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com> --- include/uapi/xen/gntdev.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)