On 02.12.20 16:36, Jan Beulich wrote: > On 01.12.2020 09:21, Juergen Gross wrote: >> static int hypfs_write(struct hypfs_entry *entry, >> XEN_GUEST_HANDLE_PARAM(void) uaddr, unsigned long ulen) > > As a tangent, is there a reason these write functions don't take > handles of "const void"? (I realize this likely is nothing that > wants addressing right here.) Uh, this is harder than I thought. guest_handle_cast() doesn't handle const guest handle types currently: hypfs.c:447:58: error: unknown type name ‘const_void’; did you mean ‘const’? ret = hypfs_write(entry, guest_handle_cast(arg3, const_void), arg4); ^ /home/gross/xen/unstable/xen/include/xen/guest_access.h:26:5: note: in definition of macro ‘guest_handle_cast’ type *_x = (hnd).p; \ ^~~~ Currently my ideas would be to either: - add a new macro for constifying a guest handle (type -> const_type) - add a new macro for casting a guest handle to a const_type - add typedefs for the const_* types (typedef const x const_x) - open code the cast Or am I missing an existing variant? Juergen