Re: [PATCH v4 63/75] x86/sev-es: Handle #DB Events

From: Peter Zijlstra
Date: Wed Jul 15 2020 - 04:48:15 EST


On Tue, Jul 14, 2020 at 02:09:05PM +0200, Joerg Roedel wrote:

> @@ -1028,6 +1036,16 @@ DEFINE_IDTENTRY_VC_SAFE_STACK(exc_vmm_communication)
> struct ghcb *ghcb;
>
> lockdep_assert_irqs_disabled();
> +
> + /*
> + * #DB is special and needs to be handled outside of the intrumentation_begin()/end().
> + * Otherwise the #VC handler could be raised recursivly.
> + */
> + if (error_code == SVM_EXIT_EXCP_BASE + X86_TRAP_DB) {
> + vc_handle_trap_db(regs);
> + return;
> + }
> +
> instrumentation_begin();

Wait what?! That makes no sense what so ever.