WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: [PATCH 1/6] trace: share t_info pages only in read-only

To: Jan Beulich <JBeulich@xxxxxxxxxx>
Subject: [Xen-devel] Re: [PATCH 1/6] trace: share t_info pages only in read-only mode
From: George Dunlap <George.Dunlap@xxxxxxxxxxxxx>
Date: Tue, 29 Jun 2010 17:27:04 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 29 Jun 2010 09:28:04 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:sender:received :in-reply-to:references:date:x-google-sender-auth:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=sLeXSO9wMmwlCIHxJk8ZAvLnHnVBrCGJ/4DH3QoWjiE=; b=fGD9T8fflBM3srfea5ih0wt9vcv4UaZQ6cVXLd/u4yeXmLKsjKWpJSY+nPs0x5AK7r 9DggdHKvTuaWWsseyN2MMw/P068nXU+0kE26eAaq3BalXSrvI4YFCjGf/BpyqXC9ymKt rsHJw+jIc8E5V/1tgLTjKYI2Z3TM7HIfrtzqM=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=s6+WY9RIOnJeeTyYIRhjMmSx6HXDPqLx40pH7SkQLRRAO48j89dYQvnBZOsk5asE9E OqUZ66SXmIOeY4ldednH9cOaZ6FTGOIZw5beRqdQoxiraxQBxX8oVYneG8Gl1tRGyKDP Iz1FY9Ep+DSX0VOeNb4grFbuR0w+wHhjFVIlw=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4C2A2DDD0200007800008A5D@xxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4C2A2DDD0200007800008A5D@xxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Acked-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>

On Tue, Jun 29, 2010 at 4:31 PM, Jan Beulich <JBeulich@xxxxxxxxxx> wrote:
> There's no need to share writably the t_info pages (Dom0 only wants
> [and needs] to read it)
>
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
>
> --- 2010-06-15.orig/tools/xenmon/xenbaked.c     2010-06-29 16:55:30.000000000 
> +0200
> +++ 2010-06-15/tools/xenmon/xenbaked.c  2010-06-28 10:23:01.000000000 +0200
> @@ -84,7 +84,7 @@ typedef struct settings_st {
>  } settings_t;
>
>  struct t_struct {
> -    struct t_info *t_info;  /* Structure with information about individual 
> buffers */
> +    const struct t_info *t_info; /* Structure with information about 
> individual buffers */
>     struct t_buf **meta;    /* Pointers to trace buffer metadata */
>     unsigned char **data;   /* Pointers to trace buffer data areas */
>  };
> @@ -376,9 +376,8 @@ static struct t_struct *map_tbufs(unsign
>     }
>
>     /* Map t_info metadata structure */
> -    tbufs.t_info = xc_map_foreign_range(xc_handle, DOMID_XEN,
> -                                        tinfo_size, PROT_READ | PROT_WRITE,
> -                                        tbufs_mfn);
> +    tbufs.t_info = xc_map_foreign_range(xc_handle, DOMID_XEN, tinfo_size,
> +                                        PROT_READ, tbufs_mfn);
>
>     if ( tbufs.t_info == 0 )
>     {
> @@ -404,7 +403,8 @@ static struct t_struct *map_tbufs(unsign
>     for(i=0; i<num; i++)
>     {
>
> -        uint32_t *mfn_list = ((uint32_t *)tbufs.t_info) + 
> tbufs.t_info->mfn_offset[i];
> +        const uint32_t *mfn_list = (const uint32_t *)tbufs.t_info
> +                                   + tbufs.t_info->mfn_offset[i];
>         int j;
>         xen_pfn_t pfn_list[tbufs.t_info->tbuf_size];
>
> --- 2010-06-15.orig/tools/xentrace/xentrace.c   2010-06-29 16:55:30.000000000 
> +0200
> +++ 2010-06-15/tools/xentrace/xentrace.c        2010-06-28 10:23:26.000000000 
> +0200
> @@ -63,7 +63,7 @@ typedef struct settings_st {
>  } settings_t;
>
>  struct t_struct {
> -    struct t_info *t_info;  /* Structure with information about individual 
> buffers */
> +    const struct t_info *t_info; /* Structure with information about 
> individual buffers */
>     struct t_buf **meta;    /* Pointers to trace buffer metadata */
>     unsigned char **data;   /* Pointers to trace buffer data areas */
>  };
> @@ -475,9 +475,8 @@ static struct t_struct *map_tbufs(unsign
>     int i;
>
>     /* Map t_info metadata structure */
> -    tbufs.t_info = xc_map_foreign_range(xc_handle, DOMID_XEN,
> -                                        tinfo_size, PROT_READ | PROT_WRITE,
> -                                        tbufs_mfn);
> +    tbufs.t_info = xc_map_foreign_range(xc_handle, DOMID_XEN, tinfo_size,
> +                                        PROT_READ, tbufs_mfn);
>
>     if ( tbufs.t_info == 0 )
>     {
> @@ -503,7 +502,8 @@ static struct t_struct *map_tbufs(unsign
>     for(i=0; i<num; i++)
>     {
>
> -        uint32_t *mfn_list = ((uint32_t *)tbufs.t_info) + 
> tbufs.t_info->mfn_offset[i];
> +        const uint32_t *mfn_list = (const uint32_t *)tbufs.t_info
> +                                   + tbufs.t_info->mfn_offset[i];
>         int j;
>         xen_pfn_t pfn_list[tbufs.t_info->tbuf_size];
>
> --- 2010-06-15.orig/xen/common/trace.c  2010-06-28 12:16:05.000000000 +0200
> +++ 2010-06-15/xen/common/trace.c       2010-06-28 11:58:37.000000000 +0200
> @@ -309,7 +309,7 @@ void __init init_trace_bufs(void)
>
>     for(i=0; i<T_INFO_PAGES; i++)
>         share_xen_page_with_privileged_guests(
> -            virt_to_page(t_info) + i, XENSHARE_writable);
> +            virt_to_page(t_info) + i, XENSHARE_readonly);
>
>     if ( opt_tbuf_size == 0 )
>     {
>
>
>
>

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>