- On initialization crash verifies the core based on the text
referenced by the linux_banner symbol in the supplied core. It
chooses how to get the address of the text based on the symbol
type decoded with gdb. For some compressed kernels with an
accessible debuginfo file the type is not supported (bss segment
found, data reference expected) but the symbol and it's value are
valid. This causes the linux_banner text to be used as the
"address" of the linux_banner and that's an invalid address for
the coredump causing crash to fail to load reporting something
like:
WARNING: invalid linux_banner pointer: 65762078756e694c
where the address is obviously ASCII text used as a number. A
SUSE patch to support compressed kernel binaries introduces the
behavior, it does not happen for upstream crash source as-is. The
difference is whether the symbol details are obtained from the
kernel binary or debuginfo (fails for some debuginfos).
* crash-get-linux_banner-without-using-syment-type.patch
In verify_version(), choose how to obtain the linux_banner address
based on the result of get_symbol_type() instead. TYPE_CODE_ARRAY
causes the value of the symbol obtained from gdb to be used.
TYPE_CODE_PTR causes the sybol data to be read to get the address.
Default is unrecognized type but a warning is shown and the value
obtained from gdb used as a best case choice.
(bsc#1190434 c#24)
OBS-URL: https://build.opensuse.org/request/show/1112906
OBS-URL: https://build.opensuse.org/package/show/Kernel:kdump/crash?expand=0&rev=384
- crash source nests gdb source but gdb has a new build error on
Factory due to the bug and build environment modifications. The
fix is upstream gdb but not upstream crash's gdb.
Created crash patch:
crash-gdb-add-proc_service-sync-with-GLIBC.patch
to create the gdb patch in expanded crash and added to the gdb
Makefile patch it's application. Resolves the build error.
- Upgrade of source tarball to 7.1.8 from upstream and refresh of
patches to align with the version. For a detailed changelog of
the source tarball see:
http://people.redhat.com/anderson/crash.changelog.html
Adds a feature to permit the use of the command-line options
"--kaslr=<offset>" and/or "--kaslr=auto" with the x86 32-bit
architecture.
OBS-URL: https://build.opensuse.org/request/show/483427
OBS-URL: https://build.opensuse.org/package/show/Kernel:kdump/crash?expand=0&rev=266
- Upgrade of source tarball to 7.1.3 from upstream and refresh of
patch series to match. For the changelog of the source tarball
see:
http://people.redhat.com/anderson/crash.changelog.html
Feature enhancements include:
- Introduction of the "dis -f <address>" option, which
disassembles from the target address until the end of the
function.
- Introduction of the "dis -s <address>" option, which displays
the filename and line number that is associated with the
specified text location, followed by a source code listing if
it is available on the host machine.
- Added a new "--src <directory>" command line option for use
by the "dis -s" option if the kernel source code is not
located in the standard location that is compiled into the
kernel's debuginfo data.
- Upgrade to 7.1.2 from upstream. For a detailed changelog see
http://people.redhat.com/anderson/crash.changelog.html
- Refreshed patch series with some changes required to
adjust for git host changes in eppic-switch-to-system-lib.patch
OBS-URL: https://build.opensuse.org/request/show/329794
OBS-URL: https://build.opensuse.org/package/show/Kernel:kdump/crash?expand=0&rev=254
- Implementation of 7.0.4 from upstream and patch refresh.
- Fix for the "ps" command's display of per-task RSS and %MEM values
in Linux 2.6.34 and later kernels in which SPLIT_RSS_COUNTING is
enabled. Without the patch, the values are only taken from each
task's mm_struct.rss_stat structure, which may contain stale values
because they may not be synchronized with the RSS values stored
in each per-thread task_struct.rss_stat structure; this may lead
to invalid or slightly low RSS values, and worst-case, the %MEM
value may show garbage percentage values.
(vinayakm.list@gmail.com)
- Addressed a few (harmless) Coverity Scan complaints in diskdump.c:
1579:dead_error_line – Execution cannot reach this expression ""|""
inside statement "fprintf(fp, "%sDUMP_DH_COMP...".
1574:dead_error_line – Execution cannot reach this expression ""|""
inside statement "fprintf(fp, "%sDUMP_HEADER_...".
1571:dead_error_line – Execution cannot reach this expression ""|""
inside statement "fprintf(fp, "%sDUMP_HEADER_...".
(anderson@redhat.com)
- Addressed two warnings when compiling diskdump.c on 32-bit architectures
when the snappy library is built in:
diskdump.c:1046: warning: passing argument 3 of
'snappy_uncompressed_length' from incompatible pointer type
/usr/include/snappy-c.h:120: note: expected ‘size_t *’ but argument
is of type ‘ulong *’
diskdump.c:1056: warning: passing argument 4 of ‘snappy_uncompress’
from incompatible pointer type
/usr/include/snappy-c.h:103: note: expected ‘size_t *’ but argument
is of type ‘ulong *’
(anderson@redhat.com)
- Created a simpler interface with the internal do_list() function.
OBS-URL: https://build.opensuse.org/request/show/214996
OBS-URL: https://build.opensuse.org/package/show/Kernel:kdump/crash?expand=0&rev=227
- Implementation of 7.0.3 from upstream and patch refresh.
- Fix for the ARM architecture if the backtrace unwind information
cannot be gathered during session initialization. Without the patch,
the two unwind-related warning messages indicating "WARNING: UNWIND:
failed to gather unwind_table list" and "WARNING: UNWIND: failed to
initialize module unwind tables" are followed by the fatal error
message "crash: cannot hash task_struct entries".
(anderson@redhat.com)
- Fix for the "help -[Dn]" dumpfile information display of the GUID EFI
table in the header of SADUMP dumpfiles. Without the patch, only 33
of the 36 bytes in the table are translated.
(d.hatayama@jp.fujitsu.com)
- Fix for the determination of the kernel NR_CPUS configurable for
Linux 3.8 and later kernels that are configured with CONFIG_SLAB.
Without the patch, the kernel's compiled-in NR_CPUS value was
incorrectly calculated to be the sum of the kernel's NR_CPUS and
MAX_NUMNODES configurables.
(anderson@redhat.com)
- In the next release of makedumpfile, the status field of the
dumpfile header of compressed kdumps will show the compression
type that was utilized. The "help -[Dn]" output has been updated
to display that information.
(anderson@redhat.com)
- For kernels configured with CONFIG_SLAB in which an array_cache
pointer referenced by a kmem_cache structure is invalid, the
individual cache(s) will be marked as invalid. During session
initialization, the message "crash: kmem_cache: <cache-address>:
invalid array_cache pointer" will be displayed, and during runtime,
attempts to access the cache(s) will result in a message indicating
OBS-URL: https://build.opensuse.org/request/show/207895
OBS-URL: https://build.opensuse.org/package/show/Kernel:kdump/crash?expand=0&rev=220