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

Re: [Xen-devel] [PATCH v1 2/6] x86: Temporary disable SMAP to legally access user pages in kernel mode



> From: Feng Wu
> Sent: Tuesday, April 15, 2014 9:02 PM
> 
> Use STAC/CLAC to temporary disable SMAP to allow legal accesses to
> user pages in kernel mode
> 
> Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx>
> ---
>  xen/arch/x86/clear_page.S           |  3 +++
>  xen/arch/x86/domain_build.c         | 16 ++++++++++++++++
>  xen/arch/x86/usercopy.c             |  6 ++++++
>  xen/arch/x86/x86_64/compat/entry.S  |  2 ++
>  xen/arch/x86/x86_64/entry.S         |  4 ++++
>  xen/include/asm-x86/uaccess.h       |  4 ++++
>  xen/include/asm-x86/x86_64/system.h |  2 ++
>  7 files changed, 37 insertions(+)
> 
> diff --git a/xen/arch/x86/domain_build.c b/xen/arch/x86/domain_build.c
> index 84ce392..1ba138b 100644
> --- a/xen/arch/x86/domain_build.c
> +++ b/xen/arch/x86/domain_build.c
> @@ -789,8 +789,10 @@ int __init construct_dom0(
>              rc = -1;
>              goto out;
>          }
> +        stac();
>          hypercall_page_initialise(
>              d, (void *)(unsigned long)parms.virt_hypercall);
> +        clac();
>      }

construct_dom0 happens before dom0 starts execution. It should be fine to
keep AC cleared in the whole phase.

Thanks
Kevin

_______________________________________________
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®.