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-----
Reply to: