Do not try to process Xen crash dump if dump level is invalid. Fail immediately and print relevant error message. Signed-off-by: Daniel Kiper <daniel.kiper at oracle.com> --- makedumpfile.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/makedumpfile.c b/makedumpfile.c index b160cea..389efc5 100644 --- a/makedumpfile.c +++ b/makedumpfile.c @@ -64,6 +64,8 @@ do { \ static void check_cyclic_buffer_overrun(void); static void setup_page_is_buddy(void); +int get_next_dump_level(int index); + void initialize_tables(void) { @@ -2903,7 +2905,7 @@ initial(void) { off_t offset; unsigned long size; - int debug_info = FALSE; + int debug_info = FALSE, dump_level, i; #ifdef USELZO if (lzo_init() == LZO_E_OK) @@ -2926,6 +2928,20 @@ initial(void) #endif if (is_xen_memory()) { + for (i = 0; ; ++i) { + dump_level = get_next_dump_level(i); + + if (dump_level < 0) + break; + + if (dump_level <= 1) + continue; + + MSG("Allowed Dump_Level for Xen dump filtering is 0 or 1\n"); + + return FALSE; + } + if(info->flag_cyclic) { info->flag_cyclic = FALSE; MSG("Switched running mode from cyclic to non-cyclic,\n"); -- 1.7.10.4