From 323dabfed9252ceb683790b45fee01c258aadb70 Mon Sep 17 00:00:00 2001 From: Pavan Naregundi Date: Tue, 29 Jun 2010 15:05:28 -0700 Subject: [PATCH] --- yaml --- r: 200642 b: refs/heads/master c: e05bd3367bd3d88715b53766f95bb3a8ec7ab59e h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/kexec.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index ff4b804f4e66..1b3b0a47c84f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 482ce512c543f3b30ab881702fa997e71252e604 +refs/heads/master: e05bd3367bd3d88715b53766f95bb3a8ec7ab59e diff --git a/trunk/kernel/kexec.c b/trunk/kernel/kexec.c index 474a84715eac..131b1703936f 100644 --- a/trunk/kernel/kexec.c +++ b/trunk/kernel/kexec.c @@ -1089,9 +1089,10 @@ void crash_kexec(struct pt_regs *regs) size_t crash_get_memory_size(void) { - size_t size; + size_t size = 0; mutex_lock(&kexec_mutex); - size = crashk_res.end - crashk_res.start + 1; + if (crashk_res.end != crashk_res.start) + size = crashk_res.end - crashk_res.start + 1; mutex_unlock(&kexec_mutex); return size; } @@ -1134,7 +1135,7 @@ int crash_shrink_memory(unsigned long new_size) free_reserved_phys_range(end, crashk_res.end); - if (start == end) + if ((start == end) && (crashk_res.parent != NULL)) release_resource(&crashk_res); crashk_res.end = end - 1;