Download from: http://people.redhat.com/anderson or https://github.com/crash-utility/crash/releases The github master branch serves as a development branch that will contain all patches that are queued for the next release: $ git clone git://github.com/crash-utility/crash.git Changelog: - Document the "-N", "-g" and "-z" options in the "help" command's help page. (k-hagio@xxxxxxxxxxxxx) - Fix for a crash-7.2.6 regression to the "p" command. Without the patch, a gdb pass-through command construct such as: p ((struct zone *)0xffff901e3ffda000)->min_slab_pages gets parsed incorrectly, and the "-" is mistaken for an argument option, and each of the subsequent characters are marked as an "invalid option". (dwysocha@xxxxxxxxxx) - Export the get_mount_list() and get_dump_level() functions in defs.h for use by extension modules. (k-hagio@xxxxxxxxxxxxx) - Change the gating of a debug message in the do_xarray_dump_cb() function from CRASHDEBUG(0) to CRASHDEBUG(1). Without the patch, users of the XArray callback functionality may see messages of the sort "entry has XARRAY_TAG_MASK bits set: 239ab0024001" without setting a debug number. (anderson@xxxxxxxxxx) - Fix for Linux 5.2 and later x86_64 kernels that contain kernel commit e6401c13093173aad709a5c6de00cf8d692ee786, titled "x86/irq/64: Split the IRQ stack into its own". Without the patch, the per-cpu IRQ stack addresses cannot be determined, and as a result backtraces that utilize an IRQ stack will fail. (anderson@xxxxxxxxxx) - Fix to allow live system analysis of s390x kernels that have been configured with CONFIG_RANDOMIZE_BASE=y (KASLR). Without the patch, the "--kaslr=<offset>" command line option is required. (anderson@xxxxxxxxxx) - Fix for Linux 5.2 and later x86_64 kernels that contain kernel commit 019b17b3ffe48100e52f609ca1c6ed6e5a40cba1, titled "x86/exceptions: Add structs for exception stacks". Without the patch, the exception stack sizes cannot be determined, and as a result backtraces that initiate from an exception stack will fail with error messages indicating "bt: invalid kernel virtual address: <address> type: stack contents" and then "bt: read of stack at <address> failed". (anderson@xxxxxxxxxx) - Two fixes for the "sys -c" option, one that significantly shortens the time consumed by the option, and a second fix that addresses occasional situations where the file and line number data are not displayed. (k-hagio@xxxxxxxxxxxxx) - Fix for a signed/unsigned comparison bug in vmcoreinfo_read_string() which could lead to a segmentation violation in the highly unlikely event of a zero length or severely truncated VMCOREINFO note. (nudasnev@xxxxxxxxxxxxx) - Fix for the determination of the ARM64 "kimage_voffset" value in Linux 4.6 and later kernels if an ELF format dumpfile: (1) does not contain its value in a VMCOREINFO note, and (2) if the kernel image was loaded at a higher address than the system's physical base address. This may happen, for example, when analyzing a dynamically-created ramdump-to-ELF dumpfile. (zhaoqianli@xxxxxxxxxx, anderson@xxxxxxxxxx) - Fix for Linux 4.16 and later ARM64 kernels that contain kernel commit fa2a8445b1d3810c52f2a6b3a006456bd1aacb7e, titled "arm64: allow ID map to be extended to 52 bits", and which have been configured with both CONFIG_DEVMEM=y and CONFIG_STRICT_DEVMEM=y. Without the patch, an inconsequential error message indicating "crash: read error: kernel virtual address: <address> type: idmap_ptrs_per_pgd" is displayed during initialization. (anderson@xxxxxxxxxx) - Introduction of a new "bt -p" option that generates a backtrace of the panic task, regardless of the current context. This option is only applicable when running against dumpfiles in which the panic task is known. (atomlin@xxxxxxxxxx) - When the gdb-7.6.patch file is updated in an existing source tree, it gets re-applied during the next build using "patch -N --fuzz=0", which ignores patches that have already been applied. However, if a gdb file has been modified multiple times, the secondary patching may fail to recognize that a given patch has been previously applied, and will attempt to re-apply it. To prevent any uninintended consequences, the gdb-7.6.patch file will also act as a shell script invoked by the Makefile, which restores any selected gdb file to its original state prior to all secondary patch applications. (anderson@xxxxxxxxxx) - As an addendum to the previous patch for updating the gdb-7.6.patch in an existing pre-built source tree, when rebuilding for the ppc64 architecture, do not restore the selected gdb files. This is because the gdb-7.6-ppc64le-support.patch will have modified the selected files during the initial build. (anderson@xxxxxxxxxx) - Extend the "timer" command with a new "TTE" column that displays the remaining time in jiffies until the expiration of a timer entry, and where a negative value displays the number of jiffies that have elapsed since a timer has expired. (oleksandr@xxxxxxxxxx) - Fix for a "warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]" compiler message generated by the previous "timer" patch when compiling kernel.c on 32-bit architectures. (anderson@xxxxxxxxxx) - Fix to the x86_64 "--machdep phys_base=<value>" command line option to allow the use of a negative decimal number as the value. Without the patch, only the hexadecimal representation of the value would be accepted. (v-santy@xxxxxxxxxxxxx, anderson@xxxxxxxxxx) - Introduction of a new "rd -R" option, which will display memory in reverse order. Memory will be displayed up to and including the address argument, which requires that the count argument be greater than 1 in order to display memory before the specified address. (anderson@xxxxxxxxxx) - Add support for the "count" argument to be used in conjunction with the "dis -r" and "dis -f" reverse/forward modes of operation. In reverse mode, the specified "count" number of instructions leading up to and including the target address will be displayed. In forward mode, the display will be limited to "count" instructions. Without the patch, using a count argument in either mode generates a "count argument ignored" message, and the command proceeds as if it had not been entered. (anderson@xxxxxxxxxx, atomlin@xxxxxxxxxx) - Fix a memory leak in the previous "dis" commit. (anderson@xxxxxxxxxx) - Implemented a new "error" environment variable that sets the destination of error messages. It can be set to either: "default": error messages are always displayed on the console; if the output of a command is piped to an external command or redirected to a file, the error messages are also sent to the pipe or file. "redirect": if the output of a command is piped to an external command or redirected to a file, error messages are only sent to the pipe or file; otherwise they are displayed on the console. "filename": error messages are only sent to the specified filename; they are not displayed on the console and are not sent to a pipe or file. (dkwon@xxxxxxxxxx) - Fix for the "kmem -n" option on Linux 5.3-rc1 and later kernels that contain commit 326e1b8f83a4318b09033ef754f40c785aed5e68, titled "mm/sparsemem: introduce a SECTION_IS_EARLY flag". Without the patch, mem_map addresses containing the flag in bit 3 incorrectly show it as part of the virtual address; with the patch, the option displays the new "E" state flag. (k-hagio@xxxxxxxxxxxxx) - Fix for the "timer" command in RHEL7.6 and later RHEL7 kernels. Without the patch, the command emits extra faulty timer entries because the tvec_root.vec[] and tvec.vec[] arrays are tracked using hlist_head structures where list_head structures should be used. (k-hagio@xxxxxxxxxxxxx) - crash-7.2.4 commit 6596f1121b added a "list -B" option to allow more efficient enumeration of longer lists. There is a small bug with this option where it may incorrectly flag a loop length of "0" on list of length 1, indicating "list: loop detected, loop length: 0". Since it is impossible to have a loop of length 0, the erroneous message can be prevented by ensuring the list count is non-zero. (dwysocha@xxxxxxxxxx) - Create the specified installation directory if it does not exist. Without the patch, the Makefile's "make install" target will fail if the INSTALLDIR and/or DESTDIR macros resolve to a non-existent directory. (pmenzel@xxxxxxxxxxxxx) - Fix for the internal caching of the kernel's mem_map array of page structures. Without the patch, in rare circumstances, commands such as "kmem -p" may erroneously receive zero-filled page structures. (k-hagio@xxxxxxxxxxxxx) - Fix to prevent a potential segmentation violation when accessing the compressed configuration data contained in kernels that are configured with CONFIG_IKCONFIG. (chenqiwu@xxxxxxxxxx) - Determine the ARM64 SECTION_SIZE_BITS value using the following order of precedence: (1) from the VMCOREINFO data if it exists (2) from the in-kernel configuration data if it exists (3) the default value (chenqiwu@xxxxxxxxxx) -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility