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

Re: [Xen-devel] [PATCH] xen/arm: Scrub heap pages during boot



On Fri, 2014-01-10 at 03:27 +0000, Julien Grall wrote:
> Scrub heap pages was disabled because it was slow on the models. Now that Xen
> supports real hardware, it's possible to enable by default scrubbing.
> 
> Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>

Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

> ---
>     This patch should go to Xen 4.4. It avoid to give non-cleared page to
>     a domain.
> 
>     The downside is it's now slow on models.

There is a no-bootscrub command-line option which can be used in that
case. Could you update the relevant model wiki pages to mention it
please?

>     The current implementation of scrub_heap_pages loop on every page in the
>     frametable. On ARM, there is only which can contains MMIO. We are safe
>     because when frametable is initialized, page are marked inuse. So the
>     function won't clear theses pages.

I don't think this behaviour is specific to ARM, x86 has MMIO regions
mixed in with RAM as well.

From an RM PoV I think this is a necessary fix since it can otherwise
potentially leak information from a previous boot. I also think it is
low risk, nothing should have been relying on non-zero content of any
page.

> ---
>  xen/arch/arm/setup.c |    6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index 9fc40c8..d7c7f4d 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -764,10 +764,8 @@ void __init start_xen(unsigned long boot_phys_offset,
>      if ( construct_dom0(dom0) != 0)
>              panic("Could not set up DOM0 guest OS");
>  
> -    /* Scrub RAM that is still free and so may go to an unprivileged domain.
> -       XXX too slow in simulator
> -       scrub_heap_pages();
> -    */
> +    /* Scrub RAM that is still free and so may go to an unprivileged domain. 
> */
> +    scrub_heap_pages();
>  
>      init_constructors();
>  



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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