Mailing List Archive

[PATCH 02 of 18] x86/mm: Making a page sharable sets PGT_validated, but making a page private doesn't expect it
xen/arch/x86/mm.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)


Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>

diff -r aeebbff899ff -r 61da3fc46f06 xen/arch/x86/mm.c
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -4347,7 +4347,7 @@ int page_make_private(struct domain *d,

/* We can only change the type if count is one */
if ( (page->u.inuse.type_info & (PGT_type_mask | PGT_count_mask))
- != (PGT_shared_page | 1) )
+ != (PGT_shared_page | PGT_validated | 1) )
{
put_page(page);
spin_unlock(&d->page_alloc_lock);

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Re: [PATCH 02 of 18] x86/mm: Making a page sharable sets PGT_validated, but making a page private doesn't expect it [ In reply to ]
At 02:47 -0500 on 08 Dec (1323312437), Andres Lagar-Cavilla wrote:
> diff -r aeebbff899ff -r 61da3fc46f06 xen/arch/x86/mm.c
> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -4347,7 +4347,7 @@ int page_make_private(struct domain *d,
>
> /* We can only change the type if count is one */
> if ( (page->u.inuse.type_info & (PGT_type_mask | PGT_count_mask))
> - != (PGT_shared_page | 1) )
> + != (PGT_shared_page | PGT_validated | 1) )

This seems wrong - surely PGT_validated isn't in (PGT_type_mask |
PGT_count_mask).

Tim.

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