kexec: check if crashk_res_low exists when exclude it from crash mem ranges
authorBaoquan He <bhe@redhat.com>
Mon, 13 Oct 2014 22:53:42 +0000 (15:53 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 14 Oct 2014 00:18:21 +0000 (02:18 +0200)
Add a check if crashk_res_low exists just like GART region does.  If
crashk_res_low doesn't exist, calling exclude_mem_range is unnecessary.

Meanwhile, since crashk_res_low has been initialized at definition, it's
safe just use "if (crashk_low_res.end)" to check if it's exist.  And this
can make it consistent with other places of check.

Signed-off-by: Baoquan He <bhe@redhat.com>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/x86/kernel/crash.c

index a618fcd2c07d3d54062a8558a7f9941b16859203..f5ab56d1428718f6327c91012d5373cc200438a2 100644 (file)
@@ -237,7 +237,7 @@ static void fill_up_crash_elf_data(struct crash_elf_data *ced,
        ced->max_nr_ranges++;
 
        /* If crashk_low_res is not 0, another range split possible */
-       if (crashk_low_res.end != 0)
+       if (crashk_low_res.end)
                ced->max_nr_ranges++;
 }
 
@@ -335,9 +335,11 @@ static int elf_header_exclude_ranges(struct crash_elf_data *ced,
        if (ret)
                return ret;
 
-       ret = exclude_mem_range(cmem, crashk_low_res.start, crashk_low_res.end);
-       if (ret)
-               return ret;
+       if (crashk_low_res.end) {
+               ret = exclude_mem_range(cmem, crashk_low_res.start, crashk_low_res.end);
+               if (ret)
+                       return ret;
+       }
 
        /* Exclude GART region */
        if (ced->gart_end) {