[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 3/3] makedumpfile/xen: Fail immediately if dump level is invalid



Hello Daniel,

On 2013/11/27 5:19:56, Daniel Kiper <daniel.kiper@xxxxxxxxxx> 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@xxxxxxxxxx>
> ---
>  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
> 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.