crash 7.1.4-1 source package in Debian

Changelog

crash (7.1.4-1) unstable; urgency=medium

  * New upstream version 7.1.4, upstream changelog follows:

  * Fix for the ARM64 "vtop" command when translating kernel virtual addresses
    within a 2MB or 512MB huge page in which the PGD or PMD contains
    software-defined PTE bits.  Without the patch, the "PAGE:" address value
    will show the software-defined bits, the command will not display the
    related page structure translation, and will end with the message
    "WARNING: sparsemem: invalid section number: <number>".

  * Fix for the X86_64 "bt" command in Linux 4.2 and later kernels that are
    configured with both CONFIG_HAVE_COPY_THREAD_TLS and CONFIG_FRAME_POINTER.
    Without the patch, the fact that the kernel was compiled with
    framepointers is not recognized, which may result in backtraces containing
    stale frame references.

  * Fix for the "dis" command to support three new x86 instruction extensions
    that have been added to the Intel instruction set for hardware platforms
    that support them.  The newly-added instructions "clflushopt", "clwb", and
    "pcommit" prepend 0x66 as a prefix byte to the "clflush", "xsaveopt" and
    "sfence" instructions respectively.  Without the patch:

    "clflushopt" is disassembled as: "data16" followed by "clflush" "clwb" is
    disassembled as: "data16" followed by "xsaveopt" "pcommit" is disassembled
    as: "data16" followed by "sfence"

  The "clflushopt" instruction was introduced in Linux 3.15 in the
  clflushopt() function.  The "clwb" and "pcommit" instructions were
  introduced in Linux 4.1 in the clwb() and pcommit_sfence() functions.

  * Fix for the extensions/trace.c extension module for Linux 4.2 and later
    kernels.  Without the patch, the module fails to load, with the message
    "failed to init the offset, struct:ftrace_event_call, member:list".

  * For many years, Xen Dom0 dumps could only be saved in ELF format.  Since
    makedumpfile commit 349a0ed1, it is now possible to save Xen dumps in
    compressed kdump format.  This patch set adds support for these files.
    Two new files, xen_dom0.c and xen_dom0.h, have been added to provide the
    common functionality required by both ELF and compressed kdump formats.

  * Since Linux v4.1, specifically, "MIPS: Rearrange PTE bits into fixed
    positions.", commit be0c37c985eddc46d0d67543898c086f60460e2e, the MIPS PTE
    bits are at fixed locations.  Since they are macros in the kernel, this
    patch adds an explicit kernel version check in order to determine and set
    their values.

  * Display a machine-type mismatch warning if a little-endian PPC64
    compressed kdump created by makedumpfile(8) is used as an argument with a
    non-PPC64 crash utility binary.  Without the patch, the dumpfile is
    accepted, and the session subsequently fails with a message indicating
    that that the vmlinux and dumpfile do not match.

  * Fix for bitmap-handling in SADUMP dumpfiles, which associate each bit in a
    bitmap with a physical page in the reverse order that is used in
    kdump-compressed format.  The bug had not been detected for a long time
    because bitmaps in SADUMP formats consist mostly of 0x00 and 0xff
    excluding a very limited amount of memory space for firmware.

  * Fix for the behavior of the --zero_excluded option when used with SADUMP
    dumpfiles.  Without the patch, the behavior of --zero_excluded option is
    the opposite to what is expected: reads of filtered pages return
    successfully with zero-filled memory, while reads of filtered filtered
    pages fail when --zero_excluded option has been specified.

  * Fix for the "kmem -i" command in Linux 2.6.27 and later kernels to prevent
    the possibility that an arbitrary address may be accessed when calculating
    the number of total huge pages.  Without the patch, the command's "COMMIT
    LIMIT" and "COMMITTED" values may be invalid.

  * Added recognition of the new DUMP_DH_EXCLUDED_VMEMMAP flag in the header
    of compressed kdumps, which is set by the new -e option to the
    makedumpfile(8) facility.  The -e option excludes kernel pages that
    contain nothing but kernel page structures for pages that are not being
    included in the dump.  If the bit is set in the dumpfile, the crash
    utility will issue a warning that the dumpfile is known to be incomplete
    during initialization, just prior to the system banner display.

  * Fix for the handling of compound pages in Linux 4.4 and later kernels,
    which contain this kernel commit:

    commit 1d798ca3f16437c71ff63e36597ff07f9c12e4d6 mm: make compound_head()
    robust

  The commit above removes the PG_tail and PG_compound page.flags bits and the
  page.first_page member, and introduces a page.compound_head member, which is
  a pointer to the head page and whose bit 0 acts as the tail flag.  Without
  the patch, a SLAB or SLUB warning message that indicates "cannot determine
  how compound pages are linked" is displayed during initialization, and any
  command that tracks compound pages will be affected.

  * Fix for the handling of dynamically-sized task_struct structures in Linux
    4.2 and later kernels, which contain these commits:

    commit 5aaeb5c01c5b6c0be7b7aadbf3ace9f3a4458c3d x86/fpu, sched: Introduce
    CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT and use it on x86 commit
    0c8c0f03e3a292e031596484275c14cf39c0ab7a x86/fpu, sched: Dynamically
    allocate 'struct fpu'

  Without the patch, when running on a filtered kdump dumpfile, it is possible
  that error messages like this will be seen when gathering the tasks running
  on a system: "crash: page excluded: kernel virtual address: <task_struct
  address>  type: "fill_task_struct".

  * Fix for the "kmem -s <address>" command in Linux 3.13 and later kernels
    configured with CONFIG_SLAB.  Without the patch, if the address argument
    is contained within an object in a tail page of a multi-page slab, the
    command fails with the message "kmem: address is not allocated in slab
    subsystem: <address>".  Furthermore, in Linux 4.4 and later kernels
    configured with CONFIG_SLAB, addresses that are contained within an object
    in a tail page of a multi-page slab will not be marked by their slab cache
    name by the "rd -S" and "bt -F" commands.

  * Fix for a segmentation violation when attempting to run live on a a system
    without the crash.ko memory driver, and whose kernel was configured with
    CONFIG_STRICT_DEVMEM.  Without the patch, if any -d<value> is entered on
    the command line, the crash session fails during initialization.

  * Update for the determination of the ARM64 page size for kernels containing
    this Linux 4.4 commit:

    commit 9d372c9fab34cd8803141871195141995f85c7f7 arm64: Add page size to
    the kernel image header

  Without the patch, the kernel page size is calculated by looking at the size
  of the "swapper_pg_dir" page directory.  With this update, the page size can
  be determined by checking a flag built into the kernel image header,
  available in the "_kernel_flags_le" absolute symbol.

  * Fix for the handling of ARM and ARM64 QEMU-generated ELF dumpfiles and
    compressed kdump clones.  The patch utilizes the NT_PRSTATUS notes in the
    dumpfile headers instead of reading them from the kernel's "crash_notes",
    which are not initialized when QEMU generates a dumpfile.  Without the
    patch, these warning messages are displayed during session initialization:

    WARNING: invalid note (n_type != NT_PRSTATUS)   WARNING: cannot retrieve
    registers for active tasks

  and running "bt" on an active task causes a segmentation violation.

  * Update to the previous QEMU-specific patch to handle kdump dumpfiles which
    have offline cpus, and therefore will not contain associated NT_PRSTATUS
    notes in the dumpfile header.  Without the patch, if there are any offline
    cpus, a segmentation violation is generated during session initialization.

  * The s390 stand-alone dump tools may write the kernel memory directly to a
    block device.  When running the crash utility against such a block device,
    a misleading warning message such as this is displayed:

    WARNING: /dev/sda1: may be truncated or incomplete PT_LOAD p_offset: 16384
    p_filesz: 5497558138880 bytes required: 5497558155264 dumpfile size: 0

  With the patch, the warning message above will be replaced by a note using
  this format:

    NOTE: /dev/sda1: No dump complete check for block devices


  * Map CTRL-l to clear the screen while in vi insertion mode.  Without the
    patch, it displays "^L".

  * Introduced a general-purpose handler to register data structures that the
    kernel has dynamically downsized from the size indicated by the debuginfo
    data.  At this time, only "kmem_cache" and "task_struct" structures that
    have been downsized are registered, but others may be added in the future.
    If a downsized data structure is passed to gdb for display, gdb will
    request a read of the "full" data structure, which may flow into a memory
    region that was either filtered by makedumpfile(8), or perhaps into
    non-existent memory, thereby killing the generating command immediately
    due to a partial read.  With this patch, commands such as "struct" and
    "task" that reference downsized data structures will have their reads
    flagged to return successfully if partial read error occurs.

  * Fix for Linux 3.18 and later 32-bit ARM kernels that are configured with
    CONFIG_SLAB which contain percpu array_cache structures that were
    allocated with vmalloc().  Without the patch, during session
    initialization there will be error messages that indicate "crash:
    kmem_cache: <vaddr>: invalid array_cache pointer: <vaddr>", and during
    runtime, the "kmem -[sS]" commands will show kmem_cache lines that marked
    as "[INVALID/CORRUPTED]".

  * Added a new "list -l <offset>" option that can only be used in conjunction
    with "-s", and requires that the "start" address is the address of a
    list_head, or other similar list linkage structure whose first member
    points to the next linkage structure.  The "-l <offset>" argument is the
    offset of the embedded list linkage structure in the specified "-s" data
    structure; it can be either a number of bytes or expressed in
    "struct.member" format.

  * Enhanced the debug-only display of the first kernel data items read during
    session initialization.  This includes the system's cpu maps, xtime, and
    utsname data.  These require at least "-d1" as a command line option
    value, and are primarily useful as an aide for debugging suspect dumpfiles
    that fail during session initialization.

  * Added "print_array" as a new internal variable that may be turned on/off
    with the "set" command.  When set to "on", gdb's printing of arrays will
    be set to "pretty", so that the display of each array element will consume
    one line.

  * Introduction of the "sys -i" option, which displays the kernel's DMI
    identification string data if available.

  * Fix for "crash --osrelease" on Xen kernels that have both VMCOREINFO and
    VMCOREINFO_XEN ELF notes.  Without the patch, the command returns
    "(unknown)".

 -- Troy Heber <email address hidden>  Fri, 15 Jan 2016 09:40:34 -0700

Upload details

Uploaded by:
Troy Heber
Uploaded to:
Sid
Original maintainer:
Troy Heber
Architectures:
i386 ia64 alpha powerpc amd64 armel s390x
Section:
utils
Urgency:
Medium Urgency

See full publishing history Publishing

Series Pocket Published Component Section

Builds

Downloads

File Size SHA-256 Checksum
crash_7.1.4-1.dsc 1.8 KiB b98d40dbb65e26820d00d847f25535a010bd6d4c2aa83fa0ede233a20ae61051
crash_7.1.4.orig.tar.gz 30.6 MiB 714cb89d40f02ef78539017641573c63eb2e2eb3589d4fac8dc41a2215a37758
crash_7.1.4-1.diff.gz 94.5 KiB 952eedfdcb2f16797146d14efcbc23ee1103f7569486819ea545cf7b290a4c00

No changes file available.

Binary packages built by this source