Hello Daniel, On 2013/11/27 5:19:56, Daniel Kiper <daniel.kiper at oracle.com> wrote: > 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; > + } > + This check is already exist in initial_xen(): #ifndef __x86_64__ if (DL_EXCLUDE_ZERO < info->max_dump_level) { MSG("Dump_level is invalid. It should be 0 or 1.\n"); MSG("Commandline parameter is invalid.\n"); MSG("Try `makedumpfile --help' for more information.\n"); return FALSE; } #endif So if you want to check the dump level early, you should extract the code above from initial_xen() and insert it into here instead. Thanks Atsushi Kumagai > if(info->flag_cyclic) { > info->flag_cyclic = FALSE; > MSG("Switched running mode from cyclic to non-cyclic,\n"); > -- > 1.7.10.4 > >