[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] x86/pv: Inject #GP for implicit grant unmaps
On 26.07.2022 13:51, Andrew Cooper wrote: > On 26/07/2022 07:29, Jan Beulich wrote: >> On 25.07.2022 19:50, Andrew Cooper wrote: >>> This is a debug behaviour to identify buggy kernels. Crashing the domain is >>> the most unhelpful thing to do, because it discards the relevant context. >>> >>> Instead, inject #GP[0] like other permission errors in x86. In particular, >>> this lets the kernel provide a backtrace that's actually helpful to a >>> developer trying to figure out what's going wrong. >>> >>> As a bugfix, this always injects #GP[0] to current, not l1e_owner. It is >>> not >>> l1e_owner's fault if dom0 using superpowers triggers an implicit unmap. >>> >>> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> >> Acked-by: Jan Beulich <jbeulich@xxxxxxxx> >> >> Albeit preferably with ... >> >>> --- a/xen/arch/x86/mm.c >>> +++ b/xen/arch/x86/mm.c >>> @@ -1232,7 +1232,7 @@ void put_page_from_l1e(l1_pgentry_t l1e, struct >>> domain *l1e_owner) >>> gdprintk(XENLOG_WARNING, >>> "Attempt to implicitly unmap a granted PTE %" PRIpte "\n", >>> l1e_get_intpte(l1e)); >>> - domain_crash(l1e_owner); >>> + pv_inject_hw_exception(TRAP_gp_fault, 0); >>> } >>> #endif >> ... the gdprintk() adjusted to also log l1e_owner. > > Ok, how about this incremental? > > diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c > index b3393385ffb6..74054fb5f4ee 100644 > --- a/xen/arch/x86/mm.c > +++ b/xen/arch/x86/mm.c > @@ -1229,9 +1229,9 @@ void put_page_from_l1e(l1_pgentry_t l1e, struct > domain *l1e_owner) > if ( (l1e_get_flags(l1e) & _PAGE_GNTTAB) && > !l1e_owner->is_shutting_down && !l1e_owner->is_dying ) > { > - gdprintk(XENLOG_WARNING, > - "Attempt to implicitly unmap a granted PTE %" PRIpte "\n", > - l1e_get_intpte(l1e)); > + gprintk(XENLOG_WARNING, > + "Attempt to implicitly %pd's gntmap PTE %" PRIpte "\n", > + l1e_owner, l1e_get_intpte(l1e)); DYM to drop "unmap"? With it restored (or anything similar to that effect), fine with me. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |