From fc588250ca6439ade16be79c3528da6e2f8621ff Mon Sep 17 00:00:00 2001 From: David Vrabel Date: Tue, 13 Sep 2011 10:17:32 -0400 Subject: [PATCH] --- yaml --- r: 263864 b: refs/heads/master c: e3b73c4a25e9a5705b4ef28b91676caf01f9bc9f h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/x86/xen/setup.c | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 0be484dab256..502108ea6f3f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f10cd522c5fbfec9ae3cc01967868c9c2401ed23 +refs/heads/master: e3b73c4a25e9a5705b4ef28b91676caf01f9bc9f diff --git a/trunk/arch/x86/xen/setup.c b/trunk/arch/x86/xen/setup.c index ff3dfa176814..09688eb4a899 100644 --- a/trunk/arch/x86/xen/setup.c +++ b/trunk/arch/x86/xen/setup.c @@ -305,10 +305,12 @@ char * __init xen_memory_setup(void) sanitize_e820_map(e820.map, ARRAY_SIZE(e820.map), &e820.nr_map); extra_limit = xen_get_max_pages(); - if (extra_limit >= max_pfn) - extra_pages = extra_limit - max_pfn; - else - extra_pages = 0; + if (max_pfn + extra_pages > extra_limit) { + if (extra_limit > max_pfn) + extra_pages = extra_limit - max_pfn; + else + extra_pages = 0; + } extra_pages += xen_return_unused_memory(xen_start_info->nr_pages, &e820);