Download from: http://people.redhat.com/anderson Changelog: - 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@xxxxxxxxxx) - 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@xxxxxxxxxxxxxx) - 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@xxxxxxxxxx) - 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@xxxxxxxxxx) - 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 that the cache is "[INVALID/CORRPUTED]". Without the patch, the message "crash: unable to initialize kmem slab cache subsystem" is displayed during session initialization, and run-time commands that attempt to access the kmem slab cache subsystem fail with the error message "kmem cache slab subsystem not available". (anderson@xxxxxxxxxx) - Fix for the "kmem -[sS] <slab-object-address>" option in Linux 3.6 and later kernels configured with CONFIG_SLAB. Without the patch, the command fails with the message "kmem: address is not allocated in slab subsystem: <slab-object-address>. This also causes the "kmem <slab-object-address>" command to (quietly) fail to determine that the address is a slab object. (anderson@xxxxxxxxxx) - Fix for the "bt" command if a kernel __init text address is encountered. Without the patch, and depending upon the reallocation of the __init text memory, a bogus framesize may be calculated, or more likely, in a compressed kdump, a warning message indicating "bt: page excluded: kernel virtual address: <address> type: gdb_readmem_callback" will be displayed following the frame data. (anderson@xxxxxxxxxx) - Update for determining whether an S390X PTE contains a swap entry in Linux 3.12 and later kernels. (holzheu@xxxxxxxxxxxxxxxxxx) - Resurrected the translation and display of the page.flags bits by the "kmem -p" command on Linux 2.6.26 and later kernels whose vmlinux debuginfo data contains either the "pageflags" enumerator or the "pageflag_names" array of trace_print_flags structures. If they are not available, just the page.flags value is printed in hexadecimal, as has been done since Linux 2.4.9. (anderson@xxxxxxxxxx) - Fix for the "bt" command when used with vmcore files that were created with the recently-introduced "virsh dump --memory-only", which dumps KVM guests into an ELF vmcore similar to those created by the kdump facility. Without the patch, a faulty backtrace for the panic task may be generated due to the use of incorrect starting RSP/RIP registers; this happens because (unlike kdump) the non-panicking cpus are offlined prior to the dumpfile being created, which in turn leads to the use of the wrong NT_PRSTATUS note. (anderson@xxxxxxxxxx) - Fix for the CPU number display on systems with 255 or more cpus during the initial banner, by the "set" command, the "ps" command, and by all commands that display the per-task header consisting of the task address, pid, cpu and command name. Without the patch, for cpu 255, the "sys" command displays "NO_PROC_ID", and the other commands would show a "-" for the cpu number; for cpu numbers greater than 255, garbage values would be displayed in the cpu number field. (anderson@xxxxxxxxxx) - Implemented support for compressed kdump header version 6, in which makedumpfile(8) adds new fields in the kdump_sub_header to support large memory systems with pfn values that are larger than 32-bits. Without the patch, if the system contains physical memory located in high memory such that its maximum pfn value is overflows the 32-bit "max_mapnr" field in the header, the crash session will fail with the error message "crash: vmlinux and vmcore do not match!". (jingbai.ma@xxxxxx) - Fix for the "net -s" command on Linux 3.8 and later kernels. Without the patch, the command fails with the message "net: invalid structure member offset: inet_opt_daddr". (anderson@xxxxxxxxxx) - Fix a build failure in a native ARM64 environment due to obsolete LKCD dumpfile headers. (anderson@xxxxxxxxxx) - Implementation of a new "per-cpu object" as an argument format that can be passed to the "p", "struct", "union" or "*" commands. The format is expressed as either <per-cpu symbol>:<cpu-specifier> or as <per-cpu offset>:<cpu-specifier>, where the per-cpu symbol or per-cpu offset must precede a colon, and where the <cpu-identifier> follows the colon. The cpu-identifier may be expressed in any of the following manners: : CPU of the currently selected task. :a[ll] all CPUs. :#[-#][,...] CPU list(s), e.g. "1,3,5", "1-3", or "1,3,5-7,10". Without the patch, per-cpu symbols are only accepted by the "p" command, and the data type and the resolved kernel virtual address for each per-cpu instance are displayed shown. With this patch, a colon and a cpu-specifier may be appended to the symbol name, and the the contents of the symbol on each cpu that is specified will be displayed by the "p" command. For the "struct/union/*" commands, an argument may be specified using either a per-cpu offset value or per-cpu symbol name followed by a colon and cpu-specifier, and the contents of each structure/union on each specified cpu will be displayed. (ptesarik@xxxxxxx) Fixed several minor flaws that were detected by a Coverity Scan: tools.c: 992:warning[invalidScanfArgType_int] – %d in format string (no. 1) requires 'int *' but the argument type is 'unsigned int *'. memory.c: 7461:error[uninitvar] – Uninitialized variable: page_cache_size filesys.c: 731:error[resourceLeak] – Resource leak: version kernel.c: 5675:error[uninitvar] – Uninitialized variable: action 7799:error[memleakOnRealloc] – Common realloc mistake: 'ikconfig_all' nulled but not freed upon failure configure.c: 793:error[mismatchAllocDealloc] – Mismatching allocation and deallocation: fp remote.c: 1120:error[resourceLeak] – Resource leak: pipe va_server.c: 316:error[memleak] – Memory leak: disk_hdr va_server_v1.c: 311:error[memleak] – Memory leak: disk_hdr makedumpfile.c: 80:error[memleakOnRealloc] – Common realloc mistake: 'ptr' nulled but not freed upon failure sadump.c: 231:error[memleakOnRealloc] – Common realloc mistake: 'sdh' nulled but not freed upon failure extensions/snap.c: 550:error[uninitvar] – Uninitialized variable: prstatus_len 541:error[uninitvar] – Uninitialized variable: l_offset extensions/trace.c: 1477:error[resourceLeak] – Resource leak: file (anderson@xxxxxxxxxx) -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility