- Update to crash 6.0.7 from upstream and adjust patches to apply
without offsets. Upstream changes:
o Enhanced the search command to allow the searched-for value to
be entered as a crash (expression) or a kernel symbol name. The
resultant value of an (expression) or kernel symbol value must
fit into in the designated value size if -w or -h are used, and
neither variant may be used with the -c option. If found, both
the resultant value and the argument input string will be
displayed next to the target address(es).
o Added a new "search -t" option that will restrict the search to
the kernel stack pages of all tasks. If one or more matches
are found in a task's kernel stack, the output is preceded with
a task-identifying header.
o Fix for the s390x "bt -[tT]" options when run on an active task
on a live system. Without the patch, the options fail with the
message "bt: invalid/stale stack pointer for this task: 0".
o Fix for s390x "vm -p" option, which may show invalid user to
physical address translation data if a page is not mapped.
Without the patch, a page's translation may indicate
"<address> SWAP: (unknown swap location) OFFSET: 0",
or show an incorrect swap offset on an actual swap device.
o Added new "vm -[xd]" options to be used in conjunction with
"vm -[mv]", which override the current default output format
with hexadecimal or decimal format for just the command instance.
Without the patch, it would require changing the default output
format with "hex" or "dec" prior to executing "vm -[mv]". The
new flags may also be used with "foreach vm -[mv]".
o Fix for the s390x "vm -p" and "vtop -u <user-address>" commands
if the page containing the relevant PTE is not mapped. Without
the patch, the commands fail with the error message "vm: read
.
.
. (forwarded request 123218 from dmair)
OBS-URL: https://build.opensuse.org/request/show/123221
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/crash?expand=0&rev=106
- Update to crash 6.0.7 from upstream and adjust patches to apply
without offsets. Upstream changes:
o Enhanced the search command to allow the searched-for value to
be entered as a crash (expression) or a kernel symbol name. The
resultant value of an (expression) or kernel symbol value must
fit into in the designated value size if -w or -h are used, and
neither variant may be used with the -c option. If found, both
the resultant value and the argument input string will be
displayed next to the target address(es).
o Added a new "search -t" option that will restrict the search to
the kernel stack pages of all tasks. If one or more matches
are found in a task's kernel stack, the output is preceded with
a task-identifying header.
o Fix for the s390x "bt -[tT]" options when run on an active task
on a live system. Without the patch, the options fail with the
message "bt: invalid/stale stack pointer for this task: 0".
o Fix for s390x "vm -p" option, which may show invalid user to
physical address translation data if a page is not mapped.
Without the patch, a page's translation may indicate
"<address> SWAP: (unknown swap location) OFFSET: 0",
or show an incorrect swap offset on an actual swap device.
o Added new "vm -[xd]" options to be used in conjunction with
"vm -[mv]", which override the current default output format
with hexadecimal or decimal format for just the command instance.
Without the patch, it would require changing the default output
format with "hex" or "dec" prior to executing "vm -[mv]". The
new flags may also be used with "foreach vm -[mv]".
o Fix for the s390x "vm -p" and "vtop -u <user-address>" commands
if the page containing the relevant PTE is not mapped. Without
the patch, the commands fail with the error message "vm: read
.
.
.
OBS-URL: https://build.opensuse.org/request/show/123218
OBS-URL: https://build.opensuse.org/package/show/Kernel:kdump/crash?expand=0&rev=199
- Update to crash 6.0.6 from upstream and adjust patch alignment
to match new crash source. Also removed the following patch as it
is already applied in new source crash-foreach-match-running.patch
glibc requirement increases to 2.15
6.0.6 changelog is:
o Extend the supported cross-architecture build capability so
that it applies to the SIAL extentension module. Without the
patch, when building the SIAL module an environment where the
overlying crash utility was built with "make target=ARM",
"make target=PPC", or "make target=X86", the SIAL extension
module would continue to be built for the host architecture
o Fixes for memory leaks and possible segmentation violations
when unloading SIAL extension module scripts.
o Fix for the new "foreach RU" task state qualifier. Without the
patch, the runnable tasks are not selected.
o Fix to disallow multiple task states from being entered using
the "foreach <task-state>" qualifier. Without the patch, if
multiple states were entered, the last one on the command line
would be honored.
o Fix for the "extend" command to allow the usage of 32-bit PPC
extension modules. Without the patch, the command fails with the
message: "extend: <object>.so: not an ELF format object file".
o If an input line starts with "#" or "//", then the line will be
saved as a comment that is visible when re-cycling through the
command history list.
o Fix for a crash-5.1.9 regression that broke the "bt -g" option.
Without the patch, the option is ignored completely.
o Fix for s390x virtual-to-physical translation of virtual
addresses that are backed by 1MB pages.
o The s390x has a dumpfile method that creates "live dumps", where...
OBS-URL: https://build.opensuse.org/request/show/121231
OBS-URL: https://build.opensuse.org/package/show/Kernel:kdump/crash?expand=0&rev=196
- Update to crash 6.0.5 from upstream and adjust patch positions
to match current crash source.
6.0.5 changelog is:
o Enhancement to the "foreach" command to allow any of the "name"
arguments to be POSIX extended regular expressions. The
expression string must be encompassed by "'" characters, and
will be matched against the names of all tasks.
o Fix for the embedded gdb module's "ptype" command, and by
extension, the crash utility's "struct" command, to be able to
fully display embedded structure or union members of a
structure/union. Without the patch, if a structure or union is
a member of a structure or union that is a member of a
structure or union, then it is displayed as "struct {...}" or
"union {...}".
o Extend the "ps -l" output to also display the task state next
to its last_run/timestamp value.
o Enhancement to the "foreach" command which adds a new "state"
task-indentifier argument that filters tasks by their task
state. The state argument may be any of the task states
displayed by the "ps" command: RU, IN, UN, ST, ZO, SW or DE.
o Implemented a new pc->cmd_cleanup function pointer and an
optional pc->cmd_cleanup_arg argument that will allow any
command to register a function and an optional argument that
will be called after a command has completed successfully, or
more likely, unsuccessfully. Normally the only cleanup required
for a command is the freeing of buffers that were allocated
with GETBUF(), but that is performed automatically after each
command is run. However, with the introduction of the new
POSIX regular expression functionality of the "foreach"
command, there needed to be a way to call regfree() in the case
where where regcomp() was called successfully, but then the
command later encountered one of several fatal error
conditions. This facility is also available for use by
extension module commands.
o Enforce the usage of a kernel thread's pgd from its active_mm
for the ARM "vtop -c" command; if its active_mm is NULL, make
the command fail similarly to the other architectures,
displaying the error message "vtop: no active_mm for this
kernel thread".
o Fix for the x86_64 "bt" command running against recent kernels
if an active task was operating on its IRQ stack when the crash
occurred. Without the patch, the determination of the IRQ
exception frame was off-by-8, displaying invalid register data
and the error message "bt: WARNING: possibly bogus exception
frame".
o Update to handle the vfsmount structure change in 3.3 kernels,
in which most members of the vfsmount structure have been moved
into a new "struct mount", and the vfsmount structure has been
embedded in the new mount structure. Without the patch, the
following commands will fail, displaying the following error
messages:
mount: "mount: invalid structure member offset: vfsmount_mnt_list"
files: "files: invalid structure member offset: dentry_d_covers"
vm: "vm: invalid structure member offset: dentry_d_covers"
swap: "swap: invalid structure member offset: dentry_d_covers
fuser: "files: invalid structure member offset: dentry_d_covers"
The "fuser" command generates the above error because it uses
the "files" command behind the scenes.
o Fix for the "ps" command to prevent the display of "??" under
the ST (task state) column. Without the patch, in more recent
kernels, if more than one bit were set in the task_struct.state
field, the state would display "??". With the fix, the primary
state will always be displayed.
o Update to the output of the "set" command when it displays a
task's state. Without the patch, if more than one bit was set
in the task_struct.state field, "STATE: (unknown)" would be
displayed. With the fix, all bits in both the task_struct.state
and task_struct.exit_state fields are translated.
o Implemented a new "vm -P <vma-address>" option, which is similar
to "vm -p", but only does the page translations of the specified
VM area of a context.
o Add support for the Freescale PowerPC e500mc version of the E500
processor chipset, and rework the PPC platform-specific code in
order to more easily support new processors.
o Implemented a new "gdb" crash environment variable that can be
used to alter a crash session's behavior such that all commands
are passed directly to the embedded gdb module. The new mode
is turned on and off by entering "set gdb on" and "set gdb off".
When running in this mode, the command prompt will be "gdb>".
In order to execute native crash commands while running in this
mode, precede the command with the "crash" directive, for
example, "crash ps".
o Fix for a "*** stack smashing detected ***: crash terminated"
failure during the initial system banner display on a 32-bit
PPC platform.
o Redesigned/simplified the internal read_string() function to
prevent a potential segmentation violation.
o Updates for the 32-bit PPC "vtop" command output:
(1) Translate kernel virtual addresses for FSL BOOKE by using
the TLBCAM setting
(2) Remove the PMD line from the display
(3) Fix the displayed PHYSICAL values of FSL BOOKE PTE format
o Fix for crash invocation failure on 3.3-era kernels in which
the former standalone "xtime" timespec structure has been moved
into the "timekeeper" structure. Without the patch, the crash
session would fail early on with the message "crash: cannot
resolve: xtime". The patch also prevents the crash session
failure in the unlikely event that the timespec access fails. (forwarded request 111468 from dmair)
OBS-URL: https://build.opensuse.org/request/show/111826
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/crash?expand=0&rev=104
- Update to crash 6.0.5 from upstream and adjust patch positions
to match current crash source.
6.0.5 changelog is:
o Enhancement to the "foreach" command to allow any of the "name"
arguments to be POSIX extended regular expressions. The
expression string must be encompassed by "'" characters, and
will be matched against the names of all tasks.
o Fix for the embedded gdb module's "ptype" command, and by
extension, the crash utility's "struct" command, to be able to
fully display embedded structure or union members of a
structure/union. Without the patch, if a structure or union is
a member of a structure or union that is a member of a
structure or union, then it is displayed as "struct {...}" or
"union {...}".
o Extend the "ps -l" output to also display the task state next
to its last_run/timestamp value.
o Enhancement to the "foreach" command which adds a new "state"
task-indentifier argument that filters tasks by their task
state. The state argument may be any of the task states
displayed by the "ps" command: RU, IN, UN, ST, ZO, SW or DE.
o Implemented a new pc->cmd_cleanup function pointer and an
optional pc->cmd_cleanup_arg argument that will allow any
command to register a function and an optional argument that
will be called after a command has completed successfully, or
more likely, unsuccessfully. Normally the only cleanup required
for a command is the freeing of buffers that were allocated
with GETBUF(), but that is performed automatically after each
command is run. However, with the introduction of the new
POSIX regular expression functionality of the "foreach"
command, there needed to be a way to call regfree() in the case
where where regcomp() was called successfully, but then the
command later encountered one of several fatal error
conditions. This facility is also available for use by
extension module commands.
o Enforce the usage of a kernel thread's pgd from its active_mm
for the ARM "vtop -c" command; if its active_mm is NULL, make
the command fail similarly to the other architectures,
displaying the error message "vtop: no active_mm for this
kernel thread".
o Fix for the x86_64 "bt" command running against recent kernels
if an active task was operating on its IRQ stack when the crash
occurred. Without the patch, the determination of the IRQ
exception frame was off-by-8, displaying invalid register data
and the error message "bt: WARNING: possibly bogus exception
frame".
o Update to handle the vfsmount structure change in 3.3 kernels,
in which most members of the vfsmount structure have been moved
into a new "struct mount", and the vfsmount structure has been
embedded in the new mount structure. Without the patch, the
following commands will fail, displaying the following error
messages:
mount: "mount: invalid structure member offset: vfsmount_mnt_list"
files: "files: invalid structure member offset: dentry_d_covers"
vm: "vm: invalid structure member offset: dentry_d_covers"
swap: "swap: invalid structure member offset: dentry_d_covers
fuser: "files: invalid structure member offset: dentry_d_covers"
The "fuser" command generates the above error because it uses
the "files" command behind the scenes.
o Fix for the "ps" command to prevent the display of "??" under
the ST (task state) column. Without the patch, in more recent
kernels, if more than one bit were set in the task_struct.state
field, the state would display "??". With the fix, the primary
state will always be displayed.
o Update to the output of the "set" command when it displays a
task's state. Without the patch, if more than one bit was set
in the task_struct.state field, "STATE: (unknown)" would be
displayed. With the fix, all bits in both the task_struct.state
and task_struct.exit_state fields are translated.
o Implemented a new "vm -P <vma-address>" option, which is similar
to "vm -p", but only does the page translations of the specified
VM area of a context.
o Add support for the Freescale PowerPC e500mc version of the E500
processor chipset, and rework the PPC platform-specific code in
order to more easily support new processors.
o Implemented a new "gdb" crash environment variable that can be
used to alter a crash session's behavior such that all commands
are passed directly to the embedded gdb module. The new mode
is turned on and off by entering "set gdb on" and "set gdb off".
When running in this mode, the command prompt will be "gdb>".
In order to execute native crash commands while running in this
mode, precede the command with the "crash" directive, for
example, "crash ps".
o Fix for a "*** stack smashing detected ***: crash terminated"
failure during the initial system banner display on a 32-bit
PPC platform.
o Redesigned/simplified the internal read_string() function to
prevent a potential segmentation violation.
o Updates for the 32-bit PPC "vtop" command output:
(1) Translate kernel virtual addresses for FSL BOOKE by using
the TLBCAM setting
(2) Remove the PMD line from the display
(3) Fix the displayed PHYSICAL values of FSL BOOKE PTE format
o Fix for crash invocation failure on 3.3-era kernels in which
the former standalone "xtime" timespec structure has been moved
into the "timekeeper" structure. Without the patch, the crash
session would fail early on with the message "crash: cannot
resolve: xtime". The patch also prevents the crash session
failure in the unlikely event that the timespec access fails.
OBS-URL: https://build.opensuse.org/request/show/111468
OBS-URL: https://build.opensuse.org/package/show/Kernel:kdump/crash?expand=0&rev=194
- Update to crash 6.0.4 from upstream and adjust patch locations
to match current crash source.
6.0.4 changelog is:
o Fix to allow the recently-added "mod -g" and "mod -r" options
to be used together.
o Additional update for 3.1.x and later kernels configured with
CONFIG_SLAB, which have replaced the kmem_cache.nodelists[]
array with a pointer to an outside array.
o Document the "crash [-h|--help] all" option in the crash.8 man
page and in the "crash [-h|--help]" output.
o Fix the S390/S390X-specific "s390dbf" command's "hex_ascii"
debug data printing routine to prevent the display of
non-ASCII characters.
o Fix for ARM stack unwinding on 3.2 and later kernels due to
commit:
http://git.kernel.org/linus/de66a979012dbc66b1ec0125795a3f79ee667b8a
o Implemented a new "search -x <count>" option that displays the
memory contents before and after any found search target.
o Fix for the x86_64 Xen hypervisor "bt" command. Without the
patch, the contents of the RDX register in exception frames
incorrectly shows the contents of the RCX register.
o Implementation of a platform-based vmalloc address translation
scheme for the 32-bit PPC architecture, introducing suppport
for the PPC44X platform while maintaining the current default
platform.
o Fix for the usage of native gdb commands where the command
output is redirected to a pipe and then redirected to a file.
o Fix to prevent a crash session that is run over a network
connection that is killed/removed from going into 100%
cpu-time loop.
o Fix for the support of PPC64 compressed kdumps, a regression
that was introduced in crash-6.0.3 when support for 32-bit PPC
compressed kdumps was implemented.
o Fix for the x86_64 "bt" command to prevent the possible
skipping of the stack frame just above an exception frame that
indicates "[exception RIP: unknown or invalid address]".
Patches with modified target locations are:
crash-make-emacs-default.diff
crash-sles9-time.patch
crash-crosscrash-hint.diff
crash-missing-declarations.patch (forwarded request 108994 from dmair)
OBS-URL: https://build.opensuse.org/request/show/108995
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/crash?expand=0&rev=103
- Update to crash 6.0.4 from upstream and adjust patch locations
to match current crash source.
6.0.4 changelog is:
o Fix to allow the recently-added "mod -g" and "mod -r" options
to be used together.
o Additional update for 3.1.x and later kernels configured with
CONFIG_SLAB, which have replaced the kmem_cache.nodelists[]
array with a pointer to an outside array.
o Document the "crash [-h|--help] all" option in the crash.8 man
page and in the "crash [-h|--help]" output.
o Fix the S390/S390X-specific "s390dbf" command's "hex_ascii"
debug data printing routine to prevent the display of
non-ASCII characters.
o Fix for ARM stack unwinding on 3.2 and later kernels due to
commit:
http://git.kernel.org/linus/de66a979012dbc66b1ec0125795a3f79ee667b8a
o Implemented a new "search -x <count>" option that displays the
memory contents before and after any found search target.
o Fix for the x86_64 Xen hypervisor "bt" command. Without the
patch, the contents of the RDX register in exception frames
incorrectly shows the contents of the RCX register.
o Implementation of a platform-based vmalloc address translation
scheme for the 32-bit PPC architecture, introducing suppport
for the PPC44X platform while maintaining the current default
platform.
o Fix for the usage of native gdb commands where the command
output is redirected to a pipe and then redirected to a file.
o Fix to prevent a crash session that is run over a network
connection that is killed/removed from going into 100%
cpu-time loop.
o Fix for the support of PPC64 compressed kdumps, a regression
that was introduced in crash-6.0.3 when support for 32-bit PPC
compressed kdumps was implemented.
o Fix for the x86_64 "bt" command to prevent the possible
skipping of the stack frame just above an exception frame that
indicates "[exception RIP: unknown or invalid address]".
Patches with modified target locations are:
crash-make-emacs-default.diff
crash-sles9-time.patch
crash-crosscrash-hint.diff
crash-missing-declarations.patch
OBS-URL: https://build.opensuse.org/request/show/108994
OBS-URL: https://build.opensuse.org/package/show/Kernel:kdump/crash?expand=0&rev=192
6.0.3 change log is:
o Fix to gdb-7.3.1/bfd/bfdio.c to properly zero out a complete
struct stat with a corrected memset argument
o Fix for the SIAL extension module to remove a call to
sial_free() for an uninitialised variable
o Fix for the "runq" command for kernels that are configured
with CONFIG_FAIR_GROUP_SCHED
o Implemented build and code for the analysis of 32-bit PPC ELF
kdump vmcores
o Implemented the capability of building a PPC crash binary on
a PPC64 host, which can be done by entering "make target=PPC"
o Determine the PPC page size from the kdump PAGESIZE vmcoreinfo
data
o Fix for the "kmem -[sS]", "kmem -[fF]" and "kmem <address>"
options in 3.2 kernels
o Addition of a set of dumpfile read diagnostic debug statements
o Fix for X86 kernels that have CONFIG_X86_32,
CONFIG_DISCONTIGMEM, CONFIG_DISCONTIGMEM_MANUAL and CONFIG_NUMA
all configured
o Fix for the "vtop" command on large NUMA X86 kernels where a
node's starting physical address is larger than 32-bits
o Update for the ARM architecture to recognize a recent change
of its vmlinux section name from ".init" to ".init.text"
o Significant speed increase of the "kmem -p" command, especially
on large-memory systems
o Implemented new "irq -a" and "irq -s" options
o Removal of a redundant read of the kernel's __per_cpu_offset
pointers in the ARM architecture's arm_get_crash_notes()
function
o Fix for an ARM architecture segmentation violation because of a
stack overflow due to recursion in the page table translation
code
o Fix for the the "FREE HIGH" tally in the X86 "kmem -i" display
o Fix for the "kmem -n" output display for 32-bit architectures
that are configured with CONFIG_SPARSEMEM
o Cleanup of several SIAL extension module files to address bison
2.5 and gcc 4.4.3 compile-time warnings
o Fix for "net -[sS]" command options on the ARM architecture
o Fix for the ARM "bt" command to allow the core kernel unwind
tables to be used in cases where the module unwind tables are
inaccessible
o Implementation of a new "dev -d" option that displays disk
device I/O statistics
o Update for 3.1.x and later kernels configured with CONFIG_SLAB,
which have replaced the kmem_cache.nodelists[] array with a
pointer to an outside array
o Implemented build and code for analysis of 32-bit PPC
compressed kdump vmcores
o Prevent the "runq" command from dumping an unending loop of
tasks if the CFS runqueue has been corrupted
o Repurposed/renamed the rarely-used and rarely-needed "mod -r"
option to "mod -R"
o Implemented a new "mod -r" option, which will pass the
"-readnow" flag to the embedded gdb module, which will override
the two-stage strategy that it uses for reading symbol tables
from module object files
o Performance increase for the "kmem -s <address>" option on
kernels configured with CONFIG_SLAB, most notably on kernels
whose kmem_cache.array[NR_CPUS] array is several pages in size
o Require that the "<slabname>" argument to "kmem -s <slabname>"
be escaped with a '\' character in two situations:
(1) in the highly-unlikely case of a kmem_cache slab named
"list", to prevent the ambiguity with the "kmem -s list"
command option.
(2) if the first character of the <slabname> actually is a '\'
character
Modifications to compile are as follows:
o Replacement of crash-6.0.2.tar.gz with crash-6.0.3.tar.gz
o Remove crash-wrong-memset.patch the fix is present in 6.0.3
o Remove crash-add-read-diags.patch the change is in 6.0.3
OBS-URL: https://build.opensuse.org/package/show/Kernel:kdump/crash?expand=0&rev=190
- crash-xen-per_cpu-init_tss.patch: init_tss is a per-cpu variable
in Xen-4.0.0 (bnc#612128).
- crash-xen-x86_64-increase-max-vcpus.patch: x86_64 can have up to
8192 virtual CPUs with Xen-4.0.0 (bnc#612128).
- crash-xen-domain_vcpu.patch: Xen-4.0.0. vcpu array is no longer
embedded in struct domain (bnc#612128).
- crash-xen-opt_sched.patch: opt_sched is __initdata in Xen-4.0.0,
so it's value is not available in the crash dump. Use opt as a
replacement (bnc#612128).
- crash-xen_virt_start.patch: account for the changed value of
XEN_VIRT_START in Xen-4.0.0 (bnc#612128).
- crash-xen-per_cpu_shift.patch: correctly determine PERCPU_SHIFT
for Xen syms (bnc#612128).
OBS-URL: https://build.opensuse.org/package/show/Kernel:kdump/crash?expand=0&rev=170