The odd DEFINE_XEN_GUEST_HANDLE(), inconsistent with all other similar
constructs, should have caught my attention. Turns out it was needed for
the build to succeed merely because the corresponding #ifndef had a
typo. That typo in turn broke compat mode guests, by having query-size
requests of theirs wire into the domain_crash() at the bottom of the
switch().
Fixes: 8c3bb4d8ce3f ("xen/gnttab: Perform compat/native gnttab_query_size
check")
Signed-off-by: Jan Beulich <[email protected]>
---
Looks like set-version is similarly missing in the set of structures
checked, but I'm pretty sure that we will now want to defer taking care
of that until after 4.20 was branched.
--- a/xen/common/compat/grant_table.c
+++ b/xen/common/compat/grant_table.c
@@ -33,7 +33,6 @@ CHECK_gnttab_unmap_and_replace;
#define xen_gnttab_query_size gnttab_query_size
CHECK_gnttab_query_size;
#undef xen_gnttab_query_size
-DEFINE_XEN_GUEST_HANDLE(gnttab_query_size_compat_t);
DEFINE_XEN_GUEST_HANDLE(gnttab_setup_table_compat_t);
DEFINE_XEN_GUEST_HANDLE(gnttab_transfer_compat_t);
@@ -111,7 +110,7 @@ int compat_grant_table_op(
CASE(copy);
#endif
-#ifndef CHECK_query_size
+#ifndef CHECK_gnttab_query_size
CASE(query_size);
#endif