| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we have to erase a symbol from vmcore whose address is not present in
vmcoreinfo, then we need to pass vmlinux as well to get the symbol
address.
When kaslr is enabled, virtual address of all the kernel symbols are
randomized with an offset. vmlinux always has a static address, but all
the arch specific calculation are based on run time kernel address. So
we need to find a way to translate symbol address from vmlinux to kernel
run time address.
without this patch:
# cat > scrub.conf << EOF
[vmlinux]
erase jiffies
erase init_task.utime
for tsk in init_task.tasks.next within task_struct:tasks
erase tsk.utime
endfor
EOF
# makedumpfile --split -d 5 -x vmlinux --config scrub.conf vmcore dumpfile_{1,2,3}
readpage_kdump_compressed: pfn(f97ea) is excluded from vmcore.
readmem: type_addr: 1, addr:f97eaff8, size:8
vtop4_x86_64: Can't get pml4 (page_dir:f97eaff8).
readmem: Can't convert a virtual address(ffffffff819f1284) to physical address.
readmem: type_addr: 0, addr:ffffffff819f1284, size:390
check_release: Can't get the address of system_utsname.
After this patch check_release() is ok, and also we are able to erase
symbol from vmcore.
Signed-off-by: Pratyush Anand <panand@redhat.com>
|
|
|
|
|
|
| |
Fix some typos checked by aspell.
Signed-off-by: Atsushi Kumagai <ats-kumagai@wm.jp.nec.com>
|
|
|
|
|
|
|
| |
filter_data_buffer_parallel is used to enable filtering buffer
parallely.
Signed-off-by: Qiao Nuohan <qiaonuohan@cn.fujitsu.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When trying to refer a module data structure GET_DIE_NFIELDS
does not set the dwarf_info to the right module.
For instance:
struct ap_device {
...
struct list_head list;
...
};
struct ap_device *dev;
As a result, it was able to resolve only dev->list and it was failing to
resolve dev->list.next.
The patch takes care of handling this by introducing GET_DIE_NFIELDS_ALL
which takes care of setting the dwarf_info to the appropriate module.
Signed-off-by: Aruna Balakrishnaiah <aruna@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
| |
Current version of makedumpfile/eppic integration patches works only for
data structures in vmlinux. This patch adds support to module data structures.
Changes from v1:
Fix return value when failed to set dwarf_debuginfo
Signed-off-by: Aruna Balakrishnaiah <aruna@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Recent eppic support in makedumpfile has introduced 'erase_ch' member in
filter_info structure. This member holds the erase character specified by the
user to poison the memory location in the dump file that require to be scrubbed
out. But, when the memory range to be scrubbed out is spanned across multiple
pages, only the memory that belongs to first page is poisoned with the
character set in 'erase_ch' member. The rest of the memory gets poisoned with
'null' character. This is because, the 'erase_ch' member is not copied over
while splitting filter info in split_filter_info() function.
Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
Signed-off-by: Suzuki Poulose <suzuki@in.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Current version of makedumpfile/eppic integration patches
works only for symbols in vmlinux. This patch adds support
to module symbols.
I have tested the patch on dynamically linked version of
makedumpfile with EPPIC_LEGACY_MODE=1. However it should
work on non-legacy mode also.
Signed-off-by: Aravinda Prasad <aravinda@linux.vnet.ibm.com>
Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For programs compiled with -static option, there is no
dynamic section in the ELF file. Hence, the functions in the
main executable cannot be invoked by dynamically loaded
libraries as they cannot be resolved.
The eppic extension for makedumpfile, which is dynamically
loaded when -eppic flag is specified, needs to call few
functions in makedumpfile. This will not work if makedumpfile
is compiled with -static flag.
This patch is a hack which overcomes this limitation by passing
the address of the functions required by the dynamically loaded
library, eppic_makedumpfile.so, during initialization. The
dynamically loaded library branches to the function address
eliminating the need to resolve functions.
Signed-off-by: Aravinda Prasad <aravinda@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The memset function will be used to specify the virtual address
and the length of the data to be scrubbed in the dump file from
the eppic macro. makedumpfile will convert these requests into
filter_info nodes which will be enqueued for filtering. Existing
makedumpfile functionality reads the filter_info nodes and scrubs the
data accordingly.
Signed-off-by: Aravinda Prasad <aravinda@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch extends the makedumpfile functionality to include eppic
language support. The patch dynamically loads the makedumpfile specific
shared object and calls the eppic_load function in shared object to
load/compile and execute the specified eppic macros.
This patch also includes "--eppic" option to makedumpfile command to
specify the eppic macro or the directory containing eppic macros. The
specified eppic macro will be executed to scrub the data in the
dumpfile. In case of a directory, all the eppic macros inside the
directory will be executed for scrubbing the data.
TODO
- Support specifying eppic macros in the makedumpfile.conf file.
A new command should be added to makedumpfile.conf to identify
an eppic macro. This command could be used in any section of
the makedumpfile.conf, where the section name indicates the kernel
module name. makedumpfile will only search for symbols encountered
by eppic macro only in the specified module. Because, searching
these symbols in all the modules will cause huge performance
overhead.
Signed-off-by: Aravinda Prasad <aravinda@linux.vnet.ibm.com>
|
|
|
|
| |
Signed-off-by: Atsushi Kumagai <kumagai-atsushi@mxc.nes.nec.co.jp>
|
|
|
|
|
|
|
| |
The format of eraseinfo data differs from that of erase commands.
This patch makes sure eraseinfo data format is same as erase commands.
Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
|
|
makedumpfile.c becomes big and the readability is not good.
To reduce the code of makedumpfile.c, this patch adds erase_info.c.
Signed-off-by: Ken'ichi Ohmichi <oomichi@mxs.nes.nec.co.jp>
|