Concerns with hypercall table changes
Description:
Potential concerns with the series xen: drop hypercall function tables
[1]:
- Something from the guest is shifted more than 64 bits (UB)
- Highly likely perf issue on ARM; probably on x86 going forward
- Incompatible with future intended ABI changes; specifically, one way or another, we're going to have to use indices higher than 64.
-
kexec_op
ABI broken (regression vs 4.16); changes a bunch of unsigned logs to unsigned ints, truncating the input value to 32 bits; some values which were previously rejected are accepted and aliased
Jan: Agree we may want to revert it at some point. But some of the grant table hypercall changes rely on some of Juergen's series (replacing do_grnat_table_op() with a shim-special thing)
[1] https://patchew.org/Xen/20220324140139.5899-1-jgross@suse.com/
Outcomes necessary to resolve
-
Shift UB issue addressed (either shown not problematic or fixed) -
Perf issue addressed (either data, or a convincing argument either way) -
kexec_op
ABI issue addressed (either shown not problematic or fixed) -
Future ABI issue addressed (either shown not problematic or fixed)
Next step(s)
-
(WHO?) Describe UB shift issue sufficiently to agree that it's problematic -
Figure out what the next steps are for the other two issues
Edited by Henry Wang