-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 1.8 Date: Sat, 30 Apr 2016 07:54:33 -0600 Source: crash Binary: crash Architecture: source amd64 Version: 7.1.5-1~bpo8+1 Distribution: jessie-backports Urgency: medium Maintainer: Troy Heber <troyh@debian.org> Changed-By: Troy Heber <troyh@debian.org> Description: crash - kernel debugging utility, allowing gdb like syntax Changes: crash (7.1.5-1~bpo8+1) jessie-backports; urgency=medium . * New upstream 7.1.5 . * Fix for the handling of Xen DomU ELF dumpfiles to prevent the pre-gathering of p2m frames during session initialization, which is unnecessary since ELF files contain the mapping information in their ".xen_p2m" section. Without the patch, it is possible that the crash session may be unnecessarily aborted if the p2m frame-gathering fails, for example, if the CR3 value in the header is invalid. . * Fix for the translation of X86_64 virtual addresses in the vsyscall region between 0xffffffffff600000 and 0xffffffffffe00000. Without the patch, the reading of addresses in that region returns invalid data; in addition, the "vtop" command for an address in that region shows an invalid physical address under the "PHYSICAL" column. . * Make the "zero excluded" mode default behavior when analyzing SADUMP dumpfiles because some Fujitsu troubleshooting software assumes the behavior. Also, fix the "set -v" option to show the "zero_excluded" internal variable as "on" if it has been set when analyzing SADUMP dumpfiles. . * Fix for the "bt" command to properly pull the stack and frame pointer registers from the NT_PRSTATUS notes of 32-bit tasks running in user-mode on ARM64. Without the patch, the "bt" command utilizes ptregs->sp and ptregs->regs[29] for 32-bit tasks instead of the architecturally-mapped ptregs->regs[13] and ptregs->regs[11], which yields unpredictable/invalid results, and possibly a segmentation violation. . * Fix for the "ps -t" option in 3.17 and later kernels that contain commit ccbf62d8a284cf181ac28c8e8407dd077d90dd4b, which changed the task_struct.start_time member from a struct timespec to a u64. Without the patch, the "RUN TIME" value is nonsensical. . * Fix for the changes made to the kernel module structure introduced by this kernel commit for Linux 4.5 and later kernels: . commit 7523e4dc5057e157212b4741abd6256e03404cf1 module: use a structure to encapsulate layout. . Without the patch, the crash session fails during initialization with the error message: "crash: invalid structure member offset: module_core_size". . * The crash utility has not supported Xen dom0 and domU dumpfiles since this Linux 3.19 commit: . commit 054954eb051f35e74b75a566a96fe756015352c8 xen: switch to linear virtual mapped sparse p2m list . This patch resurrects support for dom0 dumpfiles only. Without the patch, the crash session fails during session initialization with the message "crash: cannot resolve p2m_top". . * Fix for the replacements made to the kernel's cpu_possible_mask, cpu_online_mask, cpu_present_mask and cpu_active_mask symbols in this kernel commit for Linux 4.5 and later kernels: . commit 5aec01b834fd6f8ca49d1aeede665b950d0c148e kernel/cpu.c: eliminate cpu_*_mask . Without the patch, behavior is architecture-specific, dependent upon whether the cpu mask values are used to calculate the number of cpus. For example, ARM64 crash sessions fail during session initialization with the error message "crash: zero-size memory allocation! (called from <address>)", whereas X86_64 sessions come up normally, but invalid cpu mask values of zero are stored internally. . * Fixes for "[-Werror=misleading-indentation]" compiler warnings that are generated by the following files, when building X86_64 in a Fedora Rawhide environment with gcc-6.0.0: . gdb-7.6/bfd/coff-i386.c gdb-7.6/bfd/coff-x86_64.c kernel.c x86_64.c lkcd_common.c . Without the patch, the warnings in the bfd library files are treated as errors, and abort the build. The three instances in the top-level crash source code directory are non-fatal. There are several other gdb-specific instances that are non-fatal and are not addressed. . * Fix for a "[-Werror=shift-negative-value]" compiler warning that is generated by "gdb-7.6/opcodes/arm-dis.c" when building crash with "make target=ARM64" on an x86_64 host with gcc-6.0.0. Without the patch, the warning is treated as an error and the build is aborted. . * Fix for a series of "[-Werror=shift-negative-value]" compiler warnings that are generated by "gdb-7.6/bfd/elf64-ppc.c" and "gdb-7.6/opcodes/ppc-opc.c" when building with "make target=PPC64" on an x86_64 host with gcc-6.0.0. Without the patch, the warnings are treated as errors and the build is aborted. . * Fix for a "[-Werror=unused-const-variable]" compiler warning that is generated by "gdb-7.6/opcodes/mips-dis.c" when building with "make target=MIPS" on an x86_64 host with gcc-6.0.0. Without the patch, the warning is treated as an error and the build is aborted. . * Configure the embedded gdb module with "--disable-sim" in order to bypass the unnecessary build of the libsim.a library. . * Implement support for per-cpu IRQ stacks on the ARM64 architecture, which were introduced in Linux 4.5 by this commit: . commit 132cd887b5c54758d04bf25c52fa48f45e843a30 arm64: Modify stack trace and dump for use with irq_stack . Without the patch, if an active task was operating on its per-cpu IRQ stack on dumpfiles generated by kdump, its backtrace would start at the exception frame that was laid down on the process stack. This patch also adds support for "bt -E" to search IRQ stacks for exception frames, and the "mach" command displays the addresses of each per-cpu IRQ stack. . * Fixes for "[-Werror=misleading-indentation]" compiler warnings that are generated by the following files, when building X86_64 in a Fedora Rawhide environment with gcc-6.0.0: . gdb-7.6/gdb/ada-lang.c gdb-7.6/gdb/linux-record.c gdb-7.6/gdb/inflow.c gdb-7.6/gdb/printcmd.c gdb-7.6/gdb/c-typeprint.c . Without the patch, warnings in the gdb-7.6/gdb directory are not treated as errors, and are non-fatal to the build. . * Further fix for the symbol name changes made to the kernel's cpu_online_mask, cpu_possible_mask, cpu_present_mask and cpu_active_mask symbols in Linux 4.5 and later kernels for when the crash session is brought up with "crash -d<debug-level>". Without the patch, the cpus found in each mask are displayed like this example: . cpu_possible_(null): cpus: 0 1 2 3 4 5 6 7 cpu_present_(null): cpus: 0 1 cpu_online_(null): cpus: 0 1 cpu_active_(null): cpus: 0 1 . The "(null)" string segments above should read "mask". . * Fix for the changes made to the kernel module structure introduced by this kernel commit for Linux 4.5 and later kernels: . commit 8244062ef1e54502ef55f54cced659913f244c3e modules: fix longstanding /proc/kallsyms vs module insertion race. . Without the patch, the crash session fails during initialization with the error message: "crash: invalid structure member offset: module_num_symtab". . * Fix for the "dis <function | address>" option if the function or address is the highest text symbol value in a kernel module. Without the patch, the disassembly may continue past the end of the function, or may show nothing at all. The patch utilizes in-kernel kallsyms symbol size information instead of disassembling until reaching the address of the next symbol in the module. . * Fix for the "irq -s" option in Linux 4.2 and later kernels. Without the patch, the irq_chip.name string (e.g. "IO-APIC", "PCI-MSI", etc.) is missing from the display. . * Improvement of the accuracy of the allocated objects count for each kmem_cache shown by "kmem -s" in kernels configured with CONFIG_SLUB. Without the patch, the values under the ALLOCATED column may be too large because cached per-cpu objects are counted as allocated. . * Fixes to address two gcc-4.1.2 compiler warnings introduced by the previous patch: memory.c: In function ‘count_cpu_partial’: memory.c:17958: warning: comparison is always false due to limited range of data type memory.c: In function ‘count_partial’: memory.c:18729: warning: comparison is always false due to limited range of data type . * Introduction of the "whatis -r" and "whatis -m" options. The -r option searches for data structures of a specified size or within a range of specified sizes. The -m option searches for data structures that contain a member of a given type. If a structure contains another structure, the members of the embedded structure will also be subject to the search. The type string may be a substring of the data type name. The output displays the size and name of the data structure. . * Apply a fuzz factor of zero to the re-application of a modified version of the gdb-7.6.patch in a pre-existing build directory. Without the patch, it is possible that a previously-applied patch could be applied a second time without the fuzz restriction. . * Include sys/macros.h explicitly in filesys.c for the definitions of major(), minor() and makedev(). These functions are defined in the sys/sysmacros.h header, not sys/types.h. Linux C libraries are updating to drop the implicit include, so we need to include it explicitly. . * Fix for "kmem -[sS]" options for kernels configured with CONFIG_SLUB. Without the patch, the count displayed in the ALLOCATED column may be too large, and the "kmem -S" display of allocated/free status of individual objects may be incorrect. . * Fix for "kmem -[sS]" options for kernels configured with CONFIG_SLUB. Without the patch, if a freelist pointer is corrupt, the address of the slab page being referenced may not be displayed by the error message, showing something like: "kmem: kmalloc-32: slab: 0 invalid freepointer: 6e652f323a302d74". . * Fix for the "vm -p" option on kernels that are not configured with CONFIG_SWAP. Without the patch, the command may fail prematurely with the message "nr_swapfiles doesn't exist in this kernel". . * Introduction of ARM64 support for 64K pages with 3-level page tables and 48 VA bits. Until now, support has only existed for 64K pages with 2-level page tables, and 4K pages with 3-level page tables. . * Fix for the "vm -p" and "vtop <user virtual address>" commands if a user page is swapped out. Without the patch, the "/dev" component of the swap file pathname may be missing from its display. . * Fix for the x86_64 "vm -p" command to properly emulate the kernel's pte_present() function, which checks for either _PAGE_PRESENT or _PAGE_PROTNONE to be set. Without the patch, user pages whose PTE does not have _PAGE_PRESENT bit set are misconstrued as SWAP pages with an "(unknown swap location") along with a bogus OFFSET value. . * When reading a task's task_struct.flags field, check for its size, which was changed from an unsigned long to an unsigned int. . * Introduction of support for the 64-bit SPARC V9 architecture. This version supports running against a live kernel. Compressed kdump support is also here, but the crash dump support for the kernel, kexec-tools, and makedumpfile is still pending. Initial work was done by Karl Volz with help from Bob Picco. . * Account for the Linux 3.17 increase of the ARM64 MAX_PHYSMEM_BITS definition from 40 to 48. Checksums-Sha1: efe792f9d01f45a52c128345febfc7df9b2234e8 1835 crash_7.1.5-1~bpo8+1.dsc 6f84b34f881defd0907b5a05535f98260e1432e2 32132118 crash_7.1.5.orig.tar.gz 04cb07c9e57e42b74f76f3e5c9721f61375e203b 100252 crash_7.1.5-1~bpo8+1.diff.gz 0ef2505b2eff5d50e011a1e7703a8053b254e3d9 9859546 crash-dbgsym_7.1.5-1~bpo8+1_amd64.deb 75aed7a952ba501f4c937906c1cf7314a90812ed 2609744 crash_7.1.5-1~bpo8+1_amd64.deb Checksums-Sha256: 4e1ef1cd95ae1d7e139ea0e97c108673432faef7fe150957c4a3507c3ccf59de 1835 crash_7.1.5-1~bpo8+1.dsc 56404e46e036e2d2b2e0d58fb97e3365b04987c4c399a124e3cd2318ff86ae95 32132118 crash_7.1.5.orig.tar.gz 7abdbff506739a8333340a0c65061c9e9af4aaff604e488f1b07dd4b358d2010 100252 crash_7.1.5-1~bpo8+1.diff.gz f8dcf0f6bd8a61b5ceed17849273ef83e532726104e44903f0cd279057f16291 9859546 crash-dbgsym_7.1.5-1~bpo8+1_amd64.deb 1e070970bd37207d850bdea94ddd7fec57621fc1c4a116e9a02f1fd5725486b3 2609744 crash_7.1.5-1~bpo8+1_amd64.deb Files: 08596fcb755e95c51a841948342578e8 1835 utils optional crash_7.1.5-1~bpo8+1.dsc 0d2abedf4b067c5e06e7e44aa44e3ef4 32132118 utils optional crash_7.1.5.orig.tar.gz edd0fdf080916050634944824d49883b 100252 utils optional crash_7.1.5-1~bpo8+1.diff.gz c6663723e7da72e7a6333f35ee3ea7b7 9859546 debug extra crash-dbgsym_7.1.5-1~bpo8+1_amd64.deb fb27baa7189bf8752050b564a5370a37 2609744 utils optional crash_7.1.5-1~bpo8+1_amd64.deb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIVAwUBV1b3htt8A2Cyy2WXAQhaURAAg02OA/wA6gTzdbxotX0c7hKjgDtscbm6 649N4BO0FglhAVc2Jz32IQPhUDIr7U+XfKtrf+/A2J3C6tz5ywEw1gqhSofzya30 YawA0RrxtbuxZSk4cFgSkTtlexZ95MzekO0Y4iCzy/4scvH3oILHao+1Up86p6Hn SJEY46raMj8PEq4s6K3AQY/X4rnBwAubccRovl2xrGFUkZkB4RdHXLTDiQFfS4EW HM2sAQo9GIBRDGrPG0cyWUySzwRDNJiImcNrrIHrJEEmCOYb5TC5rTRS6yCrxyhk m6iPF1NVLm3/YCFhGphaBn9kpcxUSKJahVKLwj8/AQ4HVBlLyrH2vPF9zL0Ewjmg 2WdzGGDNmOn5lLJj+0m2cGY14RmXDnt5tU7sMA0CHRbwt+g7UHlTNl7icBuUS5Fh RytQyRsZS0N2DDfZsvRrhhyofiGKiA80i1734w4pWbWGVLinO5I0sGd/qg7dWc9r XRhh9ajOGQhIvPJnFbJbL22OpOtYMBVrHeiVgDPPXheTLh0qETUrqR/MJroKmyz0 aYHjKxML8DaT9AyYZBkGCFLqxzKDSmY2WPhp1TAnFDKHlcGZ9mC/mWLtZ9eOBSxv vDexrXc5tmFwr2NBHwWvzu/uMD18HH83oKEq/xvhsWO3a9bzEfbpT2ch/kB91cvT MQ4L4l5sLEA= =Wx8E -----END PGP SIGNATURE-----