Re: [PATCH v2] x86/xen: avoid warning in Xen pv guest with CONFIG_AMD_MEM_ENCRYPT enabled
On 27/01/2021 13:59, Jürgen Groß wrote: > On 27.01.21 12:23, Andrew Cooper wrote: >> On 27/01/2021 10:26, Jürgen Groß wrote: >>> On 27.01.21 10:43, Andrew Cooper wrote: On 27/01/2021 09:38, Juergen Gross wrote: > diff --git a/arch/x86/xen/enlighten_pv.c > b/arch/x86/xen/enlighten_pv.c > index 4409306364dc..ca5ac10fcbf7 100644 > --- a/arch/x86/xen/enlighten_pv.c > +++ b/arch/x86/xen/enlighten_pv.c > @@ -583,6 +583,12 @@ DEFINE_IDTENTRY_RAW(xenpv_exc_debug) > exc_debug(regs); > } > +DEFINE_IDTENTRY_RAW(exc_xen_unknown_trap) > +{ > + /* This should never happen and there is no way to handle it. */ > + panic("Unknown trap in Xen PV mode."); Looks much better. How about including regs->entry_vector here, just to short circuit the inevitable swearing which will accompany encountering this panic() ? >>> >>> You are aware the regs parameter is struct pt_regs *, not the Xen >>> struct cpu_user_regs *? >> >> Yes, but I was assuming that they both contained the same information. >> >>> >>> So I have no idea how I should get this information without creating >>> a per-vector handler. >> >> Oh - that's dull. >> >> Fine then. Reviewed-by: Andrew Cooper >> > > I think I'll switch the panic() to printk(); BUG(); in order to have > more diagnostic data. Can I keep your R-b: with that modification? Yeah. Sounds good. ~Andrew
Re: [PATCH v2] x86/xen: avoid warning in Xen pv guest with CONFIG_AMD_MEM_ENCRYPT enabled
On 27.01.21 12:23, Andrew Cooper wrote: On 27/01/2021 10:26, Jürgen Groß wrote: On 27.01.21 10:43, Andrew Cooper wrote: On 27/01/2021 09:38, Juergen Gross wrote: diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c index 4409306364dc..ca5ac10fcbf7 100644 --- a/arch/x86/xen/enlighten_pv.c +++ b/arch/x86/xen/enlighten_pv.c @@ -583,6 +583,12 @@ DEFINE_IDTENTRY_RAW(xenpv_exc_debug) exc_debug(regs); } +DEFINE_IDTENTRY_RAW(exc_xen_unknown_trap) +{ + /* This should never happen and there is no way to handle it. */ + panic("Unknown trap in Xen PV mode."); Looks much better. How about including regs->entry_vector here, just to short circuit the inevitable swearing which will accompany encountering this panic() ? You are aware the regs parameter is struct pt_regs *, not the Xen struct cpu_user_regs *? Yes, but I was assuming that they both contained the same information. So I have no idea how I should get this information without creating a per-vector handler. Oh - that's dull. Fine then. Reviewed-by: Andrew Cooper I think I'll switch the panic() to printk(); BUG(); in order to have more diagnostic data. Can I keep your R-b: with that modification? Juergen OpenPGP_0xB0DE9DD628BF132F.asc Description: application/pgp-keys OpenPGP_signature Description: OpenPGP digital signature
Re: [PATCH v2] x86/xen: avoid warning in Xen pv guest with CONFIG_AMD_MEM_ENCRYPT enabled
On 27/01/2021 10:26, Jürgen Groß wrote: > On 27.01.21 10:43, Andrew Cooper wrote: >> On 27/01/2021 09:38, Juergen Gross wrote: >>> diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c >>> index 4409306364dc..ca5ac10fcbf7 100644 >>> --- a/arch/x86/xen/enlighten_pv.c >>> +++ b/arch/x86/xen/enlighten_pv.c >>> @@ -583,6 +583,12 @@ DEFINE_IDTENTRY_RAW(xenpv_exc_debug) >>> exc_debug(regs); >>> } >>> +DEFINE_IDTENTRY_RAW(exc_xen_unknown_trap) >>> +{ >>> + /* This should never happen and there is no way to handle it. */ >>> + panic("Unknown trap in Xen PV mode."); >> >> Looks much better. How about including regs->entry_vector here, just to >> short circuit the inevitable swearing which will accompany encountering >> this panic() ? > > You are aware the regs parameter is struct pt_regs *, not the Xen > struct cpu_user_regs *? Yes, but I was assuming that they both contained the same information. > > So I have no idea how I should get this information without creating > a per-vector handler. Oh - that's dull. Fine then. Reviewed-by: Andrew Cooper
Re: [PATCH v2] x86/xen: avoid warning in Xen pv guest with CONFIG_AMD_MEM_ENCRYPT enabled
On 27.01.2021 11:26, Jürgen Groß wrote: > On 27.01.21 10:43, Andrew Cooper wrote: >> On 27/01/2021 09:38, Juergen Gross wrote: >>> diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c >>> index 4409306364dc..ca5ac10fcbf7 100644 >>> --- a/arch/x86/xen/enlighten_pv.c >>> +++ b/arch/x86/xen/enlighten_pv.c >>> @@ -583,6 +583,12 @@ DEFINE_IDTENTRY_RAW(xenpv_exc_debug) >>> exc_debug(regs); >>> } >>> >>> +DEFINE_IDTENTRY_RAW(exc_xen_unknown_trap) >>> +{ >>> + /* This should never happen and there is no way to handle it. */ >>> + panic("Unknown trap in Xen PV mode."); >> >> Looks much better. How about including regs->entry_vector here, just to >> short circuit the inevitable swearing which will accompany encountering >> this panic() ? > > You are aware the regs parameter is struct pt_regs *, not the Xen > struct cpu_user_regs *? > > So I have no idea how I should get this information without creating > a per-vector handler. Maybe log _RET_IP_ then (ideally decoded to a symbol), to give at least some hint as to where this was coming from? Jan
Re: [PATCH v2] x86/xen: avoid warning in Xen pv guest with CONFIG_AMD_MEM_ENCRYPT enabled
On 27.01.21 10:43, Andrew Cooper wrote: On 27/01/2021 09:38, Juergen Gross wrote: diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c index 4409306364dc..ca5ac10fcbf7 100644 --- a/arch/x86/xen/enlighten_pv.c +++ b/arch/x86/xen/enlighten_pv.c @@ -583,6 +583,12 @@ DEFINE_IDTENTRY_RAW(xenpv_exc_debug) exc_debug(regs); } +DEFINE_IDTENTRY_RAW(exc_xen_unknown_trap) +{ + /* This should never happen and there is no way to handle it. */ + panic("Unknown trap in Xen PV mode."); Looks much better. How about including regs->entry_vector here, just to short circuit the inevitable swearing which will accompany encountering this panic() ? You are aware the regs parameter is struct pt_regs *, not the Xen struct cpu_user_regs *? So I have no idea how I should get this information without creating a per-vector handler. Juergen OpenPGP_0xB0DE9DD628BF132F.asc Description: application/pgp-keys OpenPGP_signature Description: OpenPGP digital signature
Re: [PATCH v2] x86/xen: avoid warning in Xen pv guest with CONFIG_AMD_MEM_ENCRYPT enabled
On 27/01/2021 09:38, Juergen Gross wrote: > diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c > index 4409306364dc..ca5ac10fcbf7 100644 > --- a/arch/x86/xen/enlighten_pv.c > +++ b/arch/x86/xen/enlighten_pv.c > @@ -583,6 +583,12 @@ DEFINE_IDTENTRY_RAW(xenpv_exc_debug) > exc_debug(regs); > } > > +DEFINE_IDTENTRY_RAW(exc_xen_unknown_trap) > +{ > + /* This should never happen and there is no way to handle it. */ > + panic("Unknown trap in Xen PV mode."); Looks much better. How about including regs->entry_vector here, just to short circuit the inevitable swearing which will accompany encountering this panic() ? ~Andrew