Back to crash PTS page

Accepted crash 7.1.5-1 (source amd64) into unstable



-----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-----