----- 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