On 28.08.2025 17:04, Andrew Cooper wrote: > Right now we have two IRET instructions that can fault for guest reasons, and > the pre exception table gives handle_exception as the fixup for both. > > Instead, we can have compat_restore_all_guest() use restore_all_guest()'s IRET > which gives us just a single position to handle specially. > > In exception_with_ints_disabled(), remove search_pre_exception_table() and use > a simpler check.
And, peeking ahead, a similar check will then appear for ERETU. Probably indeed a fair exchange seeing that in the next patch you drop the pre-exception stuff altogether. > Explain how the recovery works, because this isn't the first > time I've had to figure it out. > > The reference to iret_to_guest highlights that any checking here is specific > to CONFIG_PV, so exclude it in !PV builds. > > Later in exception_with_ints_disabled(), it suffices to load %ecx rather than > %rcx, and remove a stray semi-colon from the rep movsq. > > No functional change. > > Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com> Reviewed-by: Jan Beulich <jbeul...@suse.com>