Skip to content

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
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information