[Crash-utility] 答复: 答复: failed to do crash analysis after insert custom module in the first kernel.

Dave Anderson anderson at redhat.com
Fri Jan 15 16:32:34 UTC 2016



----- Original Message -----
> Hi Dave:
> 
> >From the kernel codes, I found the member in my kernel was changed to
> >module_core_rx in CGL kernel, in crash's codes(6.1.4): kernel.c, there have
> >the following content:
> /******************************************************/
>         case KMOD_V2:
>                 MEMBER_OFFSET_INIT(module_num_syms, "module", "num_syms");
>                 MEMBER_OFFSET_INIT(module_list, "module", "list");
>                 MEMBER_OFFSET_INIT(module_gpl_syms, "module", "gpl_syms");
>                 MEMBER_OFFSET_INIT(module_num_gpl_syms, "module",
>                         "num_gpl_syms");
>                 MEMBER_OFFSET_INIT(module_module_core, "module",
>                         "module_core");
>                 MEMBER_OFFSET_INIT(module_core_size, "module",
>                         "core_size");
> 
>         .........
> 
>                 if (PAX()) {
>                         /*
>                          * PaX shall populate RX offsets into original ones.
>                          * This decision can work out PaX with less impact
>                          for
>                          * existing routines.
>                          *
>                          * Since PaX module dose not own text size,
>                          * these values should be sharpen by section
>                          attributes
>                          * while loading them from object file.
>                          */
>                         MEMBER_OFFSET_INIT(module_module_core, "module",
>                                            "module_core_rx");
>                         MEMBER_OFFSET_INIT(module_core_size, "module",     //
>                         looks this version crash have codes to deal with
>                         this member,
>                                            "core_size_rx");
>                         MEMBER_OFFSET_INIT(module_core_text_size, "module",
>                                            "core_size_rx");
>                         MEMBER_OFFSET_INIT(module_module_init, "module",
>                                            "module_init_rx");
>                         MEMBER_OFFSET_INIT(module_init_size, "module",
>                                            "init_size_rx");
>                         MEMBER_OFFSET_INIT(module_init_text_size, "module",
>                                            "init_size_rx");
>                 }
> 
> /******************************************************/
> 
> Looks this version crash have codes to deal with this member, but on my side,
> it did not get into branch, still try to get code_size as module_core_size.
> 
> If I change codes:
> /******************************************************/
>         case KMOD_V2:
>                 MEMBER_OFFSET_INIT(module_num_syms, "module", "num_syms");
>                 MEMBER_OFFSET_INIT(module_list, "module", "list");
>                 MEMBER_OFFSET_INIT(module_gpl_syms, "module", "gpl_syms");
>                 MEMBER_OFFSET_INIT(module_num_gpl_syms, "module",
>                         "num_gpl_syms");
>                 MEMBER_OFFSET_INIT(module_module_core, "module",
>                         "module_core_rx");
>                 MEMBER_OFFSET_INIT(module_core_size, "module",
>                         "core_size");
> /******************************************************/
> 
> The vmcore can be analysed well.
> 
> If I miss some configuration in cgl kernel to coordinate with crash tool?
> 
> /****************************************************/
> #define PAX()  ((THIS_KERNEL_VERSION >= LINUX(2,6,27)) && \
>                   VALID_MEMBER(module_module_core_rx))
> /****************************************************/



Hello James,

If you would like to do so, you can post a PaX patch against the current
crash-7.1.4 source tree, and it would be included in crash-7.1.5.

Thanks,
  Dave




More information about the Crash-utility mailing list