-----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 Distribution: unstable Urgency: medium Maintainer: Troy Heber <troyh@debian.org> Changed-By: Troy Heber <troyh@debian.org> Description: crash - kernel debugging utility, allowing gdb like syntax Closes: 817798 Changes: crash (7.1.5-1) unstable; urgency=medium . * New upstream 7.1.5 (Closes: #817798): . * 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: 66e43ecb7398222d373a730724143b653c171c93 1807 crash_7.1.5-1.dsc 6f84b34f881defd0907b5a05535f98260e1432e2 32132118 crash_7.1.5.orig.tar.gz 2dbdb3c237acec9ae1274c92820004e27fe4d082 100208 crash_7.1.5-1.diff.gz f2cbc14fab5c803765c6c2fd6a067fffc25e3816 9859430 crash-dbgsym_7.1.5-1_amd64.deb 9a619686f2bb6723eaff16e480a5b8c220088487 2608958 crash_7.1.5-1_amd64.deb Checksums-Sha256: c6e20361f3239de7acaf2b2edcc973ea2177da04fe0ff669d965900ea3b23acd 1807 crash_7.1.5-1.dsc 56404e46e036e2d2b2e0d58fb97e3365b04987c4c399a124e3cd2318ff86ae95 32132118 crash_7.1.5.orig.tar.gz 97ba2357e9841ba2cd50acb862d6bf93dd9571d35818c7f1bc00137d0e9e89fd 100208 crash_7.1.5-1.diff.gz 72bb57a54c96a0c14efed17fb2f6bc9a6e1b9c80018558f5260b5db3b008fdc5 9859430 crash-dbgsym_7.1.5-1_amd64.deb b4f7f0325f9344f6d0663ef04a1137104366a52e885d5fd9376aedb9ebb5197c 2608958 crash_7.1.5-1_amd64.deb Files: acc6e4902d438c5225a393690847c337 1807 utils optional crash_7.1.5-1.dsc 0d2abedf4b067c5e06e7e44aa44e3ef4 32132118 utils optional crash_7.1.5.orig.tar.gz f769629176f4bf91bc9c16129b284166 100208 utils optional crash_7.1.5-1.diff.gz e5ba7566cc47ad5309c7d8e82c82979b 9859430 debug extra crash-dbgsym_7.1.5-1_amd64.deb c3ae307730bb1c6fafa253a3a74171d4 2608958 utils optional crash_7.1.5-1_amd64.deb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIVAwUBVydQsNt8A2Cyy2WXAQjNCQ/+P0SnB2Hx/l+zveBMcerPD4ZHixfRV67T QE+pgadQNR2arqvqyeCLKeeUPt/WsbqVyIMPSqnK68RElBBlA07HC2jx7BzOzXsk 2oWag18zKVZHzY8+KDMXaXVp5VL+FmIYFUKzFJjAp9Ibx3M57Dg5Z8KIOb+JNZZj DN4tmscZRi00g+ZVyAv9+9hhqffHb4lT0jV8yW7EfuIDF9onS6CwmUmaIbZ8kN4J VAKXFVqva8xs6dlq9/lGzj+eXwYfZ773OLHJt/FqrmfNXt1pCyLwy+WQKKLm0fTO FD3euZhXXAmVipvIYYo2OGiHeLsRL+98AAzfirBJDLEBTmmJmdK8gNehqttrZQJN RNBTQ1w5fS2FPsPWX5hmEFaKxjrBA16nnwsdYbBwp0/yM/Gsklmwdl+c9lPDw/z4 8G83OzbZEk96oIR4ZIfHLOWV9WBCpRXiIQb+uZwVk80X/3biDlThXMu4RvENX2Dw APezndJ2pPhkklBpIdE+FnG8udbtwwn19Vwqq55FybAzkBURV/qWENlJd5OP/QHY 908hWMUgRfwlzC5gSdMJMkiF3ZNz/Jcd+JXwnioeGr5jSMfflIk6Me7B3l6DAnAH DAgLo/wFwzenL6hXGd0ybGAEx5YAQQ89PqkIP63p0Q5OrkokBcpuKQVpoXj6Ky/J V5ndIk3FxBY= =i6kO -----END PGP SIGNATURE-----