# HG changeset patch
# User mafetter@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# Node ID 6d298cac0e8d851331096f16a52cdd7208cbc95c
# Parent 0f62ea79cd8d9e64c326ca703b7230e845425505
Bug fix in error handling in get_page_from_l4e()
diff -r 0f62ea79cd8d -r 6d298cac0e8d xen/arch/x86/mm.c
--- a/xen/arch/x86/mm.c Tue Nov 8 10:38:32 2005
+++ b/xen/arch/x86/mm.c Tue Nov 8 11:26:48 2005
@@ -507,7 +507,7 @@
l2e_get_pfn(l2e), PGT_l1_page_table | vaddr, d);
#if CONFIG_PAGING_LEVELS == 2
- if (!rc)
+ if ( unlikely(!rc) )
rc = get_linear_pagetable(l2e, pfn, d);
#endif
return rc;
@@ -540,7 +540,7 @@
l3e_get_pfn(l3e),
PGT_l2_page_table | vaddr, d);
#if CONFIG_PAGING_LEVELS == 3
- if (!rc)
+ if ( unlikely(!rc) )
rc = get_linear_pagetable(l3e, pfn, d);
#endif
return rc;
@@ -575,9 +575,9 @@
PGT_l3_page_table | vaddr, d);
if ( unlikely(!rc) )
- return get_linear_pagetable(l4e, pfn, d);
-
- return 1;
+ rc = get_linear_pagetable(l4e, pfn, d);
+
+ return rc;
}
#endif /* 4 level */
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|