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>


Reply via email to