[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 1/2] x86/dom0: fix restoring %cr3 and the mapcache override on PV build error



On Wed, Jul 31, 2024 at 08:32:03AM +0200, Jan Beulich wrote:
> On 30.07.2024 17:28, Roger Pau Monne wrote:
> > One of the error paths in the PV dom0 builder section that runs on the guest
> > page-tables wasn't restoring the Xen value of %cr3, neither removing the
> > mapcache override.
> 
> s/neither/nor/ ?
> 
> > --- a/xen/arch/x86/pv/dom0_build.c
> > +++ b/xen/arch/x86/pv/dom0_build.c
> > @@ -825,6 +825,8 @@ int __init dom0_construct_pv(struct domain *d,
> >      rc = elf_load_binary(&elf);
> >      if ( rc < 0 )
> >      {
> > +        mapcache_override_current(NULL);
> > +        switch_cr3_cr4(current->arch.cr3, read_cr4());
> >          printk("Failed to load the kernel binary\n");
> >          goto out;
> >      }
> 
> Just below here we have
> 
>     bootstrap_map(NULL);
> 
> This too is wanted in the error case aiui. Happy to move it up immediately
> ahead of the if() while committing, so long as you agree. Then:
> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>

I'm happy with this, but note there are further instances of error
paths above this one that already don't remove the bootstrap mappings.

Thanks, Roger.



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.