[ubuntu/utopic-proposed] crash 7.0.7-1ubuntu1 (Accepted)

Matthias Klose doko at ubuntu.com
Fri Aug 8 12:12:18 UTC 2014


crash (7.0.7-1ubuntu1) utopic; urgency=medium

  * Merge with Debian; remainging changes:
    - Build for armhf, arm64.
    - Minor fixes for live autopkgtest.
    - debian/tests/live: Redirect gpg stderr to stdout, as that's the only
      known and expected stderr source.
    - Add ppc64el support.

crash (7.0.7-1) unstable; urgency=low

  * Export the static ELF and compressed kdump vmcoreinfo_read_string()
    functions from netdump.c and kdump.c via a new read_vmcoreinfo() method in
    the global program_context structure.  The function
    get_log_from_vmcoreinfo() will access vmcoreinfo data via the new pointer
    instead of requiring its callers to pass pointers to their
    dumpfile-specific function.
  * Linux 3.15 and later kernels configured with CONFIG_RANDOMIZE_BASE can be
    now be readily identified because of new kernel symbols that have been
    added.  For those kernels, the new "--kaslr=<offset>" and/or
    "--kaslr=auto" options are not necessary for ELF or compressed kdump
    vmcores, or for live systems that have /proc/kallsyms showing the
    relocated symbol values.  A new KASLR initialization function called
    kaslr_init() is now called by symtab_init() prior to the initial
    symbol-sorting operation.  If kaslr_init() determines that KASLR may be in
    effect, it will trigger a search for the relevant vmlinux symbols during
    the sorting operation, which in turn will cause the relocation value to be
    automatically calculated.
  * Implemented a new "bt -c cpu(s)" option to display the backtrace of the
    active task on one or more cpus.  The cpus must be specified in a comma-
    and/or dash-separated list; for examples ""3", "1,8,9", "1-23", or
    "1,8,9-14".  Similar to "bt -a", the option is only applicable with crash
    dumps.
  * Fix for Linux 3.11 and later ARM kernels, in which all non-panicking cpus
    offline themselves during a kdump procedure.  This causes an invalid cpu
    count determination during crash session initialization from an ARM
    vmcore.  The patch utilizes the cpu count found in the cpu_active_map if
    it is greater than the count in the cpu_online_map.  In addition, the
    maximum NR_CPUS value for the ARM architecture has been raised from 4 to
    32.
  * Fix for the X86_64 "bt" command on Linux 3.3 and later kernels to properly
    display exception frame register contents on NMI stacks.  Kernel commit
    3f3c8b8c4b2a34776c3470142a7c8baafcda6eb0 added 12 more values to the NMI
    exception stack to handle nested NMIs caused by page faults or breakpoints
    that could occur while handling an NMI exception.
  * Kernel commit 28696f434fef0efa97534b59986ad33b9c4df7f8 changed the stack
    layout again, swapping the location of the "saved" and "copied" registers.
    This can be detected automatically, because the "copied" registers contain
    either a copy of the "saved" registers, or point to "repeat_nmi". So, if
    "repeat_nmi" is found as the return address, assume that this is the old
    layout, and adjust the stack pointer again.  Without the patch, incorrect
    register values are displayed in the exception frame dump in the NMI stack
    backtrace.
  * Fix for the built-in "g" alias, which apparently has not worked correctly
    since crash-5.1.4.  Without the patch, if the "g" alias and the first
    argument are separated by one space, then the first first character of
    that argument would get stripped prior to being passed to the embedded gdb
    module.
  * Removed the BASELEVEL_REVISION string from defs.h, which serves no purpose
    since the deprecation of the remote daemon, and typically has been out of
    sync with the crash version.
  * Fix for the "p", "irq", "struct", "union" and "*" commands if a cpu
    specification contains an invalid cpu number.  Without the patch, a
    segmentation violation may be generated.
  * Implemented a new capability for the "ptov" command that takes a per-cpu
    offset and cpu specification argument and translates it into the kernel
    virtual addresses for the cpus specified.
  * Implemented a new "ps -m" option that is a similar, complementary option
    to "ps -l", but which translates the task timestamp value from a decimal
    or hexadecimal nanoseconds value into a more human-readable string
    consisting of the number of days, hours, minutes, seconds and milliseconds
    that have elapsed since the task started executing on a cpu.  More
    accurately described, it is the time difference between the timestamp
    copied from the per-cpu runqueue clock when the task last started
    executing compared to the most current value of the per-cpu runqueue
    clock.
  * In addition, a new "ps -C <cpu-specifier>" option has been added that can
    only be used with "ps -l" and "ps -m", which sorts the global task list
    into per-cpu blocks; the cpu-specifier uses the standard comma or dash
    separated list, expressed as "-C 1,3,5", "-C 1-3", "-C 1,3,5-7,10", or
    "-Call" or "-Ca" for all cpus.
  * Implemented a new "runq -m" option that is a simliar, complementary option
    to "runq -t", but which displays the amount of time that the active task
    on each cpu has been running, expressed in a format consisting of days,
    hours, minutes, seconds and milliseconds.
  * Implemented a new "kmem -h" option that displays the address of each
    hugepage hstate array entry, its hugepage size, its free and total counts,
    and name string.
  * Implemented a new "ps -S" option that displays a summary consisting of the
    number of tasks in a task state.
  * Fix for the "arguments-input-file" feature to protect against a called
    command modifying an argument string.  For example, the "struct" command
    modifies "-l struct_name.member" argument strings, and so without the
    patch, all iterative calls after the first one will fail.
  * Fix failure to build from source when compiling the crash utility with
    gcc-4.9 (closes: #746835)
  * Fix for displaying enum values that are greater than 32-bits in size.
    Without the patch, the upper 32-bits are clipped off and displayed as
    integer-sized value.
  * If the kernel (live or dumpfile) has the "kpatch" module installed, the
    tag "[KPATCH]" will be displayed next to the kernel name in the initial
    system banner and by the "sys" command.
  * Fix for the "DEBUG KERNEL:" display in the initial system banner and by
    the "sys" command when using a System.map file with a Linux 3.0 and later
    debug kernel.  Without the patch, the kernel version is not displayed in
    parentheses following the debug kernel name.
  * If the gdb-<version>.patch file has changed and a rebuild is being done
    from within a previously-existing build tree, "patch -N" the gdb sources,
    and start the rebuild from the gdb-<version> directory instead of the
    gdb-<version>/gdb directory.
  * Fix to prevent a possible segmentation violation generated by the "runq
    -g" command when run on a very active live system due to an active task on
    a cpu exiting while the command is running.
  * Fix for the "runq -g" command on Linux 3.15 and later kernels, where the
    cgroup_name() function now utilizes kernfs_name().  Without the patch, the
    command fails with the error message "runq: invalid structure member
    offset: cgroup_dentry".
  * Fix for the "extend" command when running with an x86_64 crash binary that
    was built with "make target=ARM64" in order to analyze ARM64 dumpfiles on
    an x86_64 host.  Without the patch, if the extend command is used with an
    extension module built in the same manner, it fails with the message
    "extend: <module>.so: not an ELF format object file".
  * Introduce support for 32-bit ARM kernels that are configured with
    CONFIG_ARM_LPAE.  The patch implements the virtual-to-physical address
    translation of 64-bit PTEs used by ARM LPAE kernels.

crash (7.0.6-1) unstable; urgency=low

  * Fix for custom X86_64 kernels that change the declaration of the
    context_switch() function so that it is not an inline function.  Without
    the patch, the message "crash: cannot determine thread return address" is
    displayed during invocation, and backtraces of blocked tasks may have
    missing or invalid frames.
  * Fix to prevent a possible invocation-time error on Linux 3.7 and later
    kernels configured with CONFIG_SLAB, running against vmcore files filtered
    with the makedumpfile(8) facility.  Without the patch, the message "crash:
    page excluded: kernel virtual address: <address>  type: kmem_cache buffer"
    is immediately followed by the message "crash: unable to initialize kmem
    slab cache subsystem".  Because of a kernel data structure name change
    from "cache_cache" to "kmem_cache_boot", the crash utility failed to
    properly downsize the stored size of the kernel's kmem_cache data
    structure from the size indicated by the vmlinux debuginfo data.  This in
    turn could lead to reading beyond the end of a kmem_cache data structure
    into a page of memory that had been excluded from the vmcore.  The fix was
    also applied to kernels configured with CONFIG_SLUB.
  * Added a new "--kaslr <offset>" command line option for X86_64 kernels that
    are configured with CONFIG_RANDOMIZE_BASE.  The offset value must be equal
    to the difference between the symbol values compiled into the vmlinux file
    and their relocated KASLR values.
  * Added a new "--kaslr=auto" command line option for X86_64 kernels that
    that are configured with CONFIG_RANDOMIZE_BASE.  When set to "auto", the
    KASLR relocation value will be determined automatically by comparing the
    "_stext" symbol value compiled into the vmlinux file with the _stext
    symbol value stored in kdump vmcoreinfo data; on live systems the
    comparison will be made with the "_stext" symbol value that is found in
    /proc/kallsyms.
  * Enable kernel text line number capability for the "dis -l", "bt -l", "sys
    -c", and "sym" commands for kernels that are configured with
    CONFIG_RANDOMIZE_BASE.
  * Fix for the "crash --log vmcore" command to account for the kernel data
    structure and VMCOREINFO string name changes from "log" to "printk_log" in
    Linux 3.11-rc4 and later kernels.  Without the patch, the command fails
    with the error message "crash: VMCOREINFO: no log buffer data".
  * Adjustment to the internal symbol-handling to prevent the usage of kernel
    system call alias/wrapper names, for examples, "SyS_read" and
    "compat_SyS_futex" instead of "sys_read" and "compat_sys_futex".  Without
    the patch, commands such as "dis", "sym <address>", and "sys -c" display
    the alias/wrapper name instead of the real system call name in Linux 3.10
    and later kernels.
  * Increase the internal hash queue head count from 128 to 32768.  The hash
    queue is used for gathering and verifying lists, and the original count of
    128 may be overwhelmed if a list is extremely large.  For example, on a
    256GB system with 192GB of free pages, the "kmem -f" command takes hours
    to complete; with this patch, the time is reduced to a few minutes.  In
    addition, a new command line option "--hash <count>" has been added to
    allow a user to override the default hash queue head count of 32768.
  * Fix for the "kmem -F" display and the "kmem -f <address>" or "kmem
    <address>" options.  Without the patch, "kmem -F" does not display the
    first page in a list of free page blocks on its own line, but rather at
    the end of the previous line that shows the area number, block size, and
    free_area struct address that the page is linked to.  Due to this error,
    both "kmem -f <address>" and "kmem -f address>" would not find the
    associated page or page block if it happened to be the first page or page
    block in the list.
  * Created a new feature for the internal do_list() function if it is
    necessary to immediately perform a function for each entry in a list while
    the list is being traversed.  A callback function, and an option callback
    data pointer, can be registered in the list_data structure.  The address
    of each entry in the list along with the optional callback data pointer
    will be passed to the callback function.  If desired, the callback
    function may also dictate that do_list() should stop the list traversal
    and return immediately to its caller.
  * Made the "kmem -f <address>" and "kmem <address>" options more efficient
    by using the new do_list() callback function feature above as well as
    restricting the search to only the NUMA node that contains the address.
  * If the first assembly language instruction in an X86_64 function is "nopl
    0x0(%rax,%rax,1)" or "data32 data32 data32 xchg %ax,%ax", which are
    generated when the ftrace facility is configured, the X86_64 "dis" command
    will append "[FTRACE NOP]" to the line.
  * Correction for the "crash -h" and crash.8 man page documentation of the
    "--machdep phys_base=<physical-address>" command line option.  In both
    places the parameter mistakenly indicated "physbase".
  * If a host build system does not have /usr/bin/wget installed, and the
    crash package is built from a directory that was git-cloned from
    github.com/crash-utility/crash.git, the error message has been clarified
    to indicate "/usr/bin/wget is required to download gdb-7.6.tar.gz".
    Without the patch, the message indicates "tar (child): gdb-7.6.tar.gz:
    Cannot open: No such file or directory".
  * Updated the ARM64 implementation to support Linux 3.13 and later kernels
    that expand to a 42-bit address space when 64K pages are configured.  This
    is also the first crash version that has been tested on a live ARM64
    system with 4K pages, where it cleanly make it to the "crash>" prompt.
    However, it should be noted that some commands (most notably "bt") still
    do not work as of yet.
  * Document the "--machdep phys_offset=<physical-address>" command line
    option for the ARM64 architecture in the crash.8 man page and the "crash
    -h" output.
  * Fix for KVM dumpfiles created with "virsh dump --memory-only" if an X86_64
    kernel was loaded with a non-zero "phys_base".  Without the patch, the
    crash session fails with the warning message "WARNING: cannot read
    linux_banner string" followed by the fatal error message "crash: vmlinux
    and <dumpfile name> do not match!".
  * Initial working implementation of the basic ARM64 "bt" command, with
    several command options still under development.  In-kernel exception
    frames are only dumped if the exception handler function is contained
    within the symbol boundaries from "__exception_text_start" to
    "__exception_text_end"; when ARM64 kdump is eventually implemented,
    further exception-related work will be resumed.
  * Cleaned up the exception frame displays of 64-bit in-kernel and both
    32-bit and 64-bit user-mode exceptions.
  * Implemented support for the ARM64 "bt -e" option.
  * Implemented support for the ARM64 "bt -l" option.
  * Update for the X86_64 "bt -l" option such that it also displays the
    available file and line number information for functions indicated as the
    "exception RIP" in kernel exception frames.  The line number information
    will follow the exception frame register dump.
  * Fix for the ARM64 virtual-to-physical translation of vmemmap page
    structure addresses for kernels configured with 4K pages.  Without the
    patch, any command that required the contents of a page structure would
    fail with a readmem error.
  * Added support for the ARM64 architecture in the extensions/snap.c
    extension module.  Also fixed the progress percentage display to correct
    for systems which have non-zero starting physical addresses.
  * Implemented support for the ARM64 "bt -f" and "bt -F[F]" options.
  * Increase the ARM64 PTRS_PER_PGD_L2_64K from 1024 to 9182 to account for
    the Linux 3.13 increase of the ARM64 virtual address space size from 39 to
    42 bits when 64K pages are configured.  Without the patch, the warning
    message "WARNING: cannot access vmalloc'd module memory" is displayed
    during session initialization.
  * Fix for the "vm -p" option on ARM64 so that file-backed pages are properly
    translated to the filename and offset.  Without the patch, file-backed
    pages are erroneously shown as being backed on a swap device.
  * Increment maximum ARM64 physical address from 40 to 48 bits to match
    upstream kernel commit 87366d8cf7b3f6dc34633938aa8766e5a390ce33.
  * Fix for a segmentation violation generated by the "crash -g vmlinux"
    command on ARM64.
  * Fix for the ARM64 "vtop <address>" command on kernels configured with 64K
    pages if the address argument is located in the kernel logical memory map
    region, which uses 512MB hugepage mappings.  Without the patch, the
    verbose page table walk mistakenly continues to the PTE level.
  * Fix for ARM64 /proc/kcore support.  Without the patch, the crash session
    fails with the warning message "WARNING: cannot read linux_banner string"
    followed by the fatal error message "crash: vmlinux and <dumpfile name> do
    not match!".  At this point in time, the kernel requires a patch to the
    ARM64 kern_addr_valid() function to properly allow memory to be read from
    the kernel logical memory map region.

Date: Fri, 08 Aug 2014 14:03:57 +0200
Changed-By: Matthias Klose <doko at ubuntu.com>
Maintainer: Ubuntu Developers <ubuntu-devel-discuss at lists.ubuntu.com>
https://launchpad.net/ubuntu/utopic/+source/crash/7.0.7-1ubuntu1
-------------- next part --------------
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Fri, 08 Aug 2014 14:03:57 +0200
Source: crash
Binary: crash
Architecture: source
Version: 7.0.7-1ubuntu1
Distribution: utopic
Urgency: medium
Maintainer: Ubuntu Developers <ubuntu-devel-discuss at lists.ubuntu.com>
Changed-By: Matthias Klose <doko at ubuntu.com>
Description:
 crash      - kernel debugging utility, allowing gdb like syntax
Closes: 746835
Changes:
 crash (7.0.7-1ubuntu1) utopic; urgency=medium
 .
   * Merge with Debian; remainging changes:
     - Build for armhf, arm64.
     - Minor fixes for live autopkgtest.
     - debian/tests/live: Redirect gpg stderr to stdout, as that's the only
       known and expected stderr source.
     - Add ppc64el support.
 .
 crash (7.0.7-1) unstable; urgency=low
 .
   * Export the static ELF and compressed kdump vmcoreinfo_read_string()
     functions from netdump.c and kdump.c via a new read_vmcoreinfo() method in
     the global program_context structure.  The function
     get_log_from_vmcoreinfo() will access vmcoreinfo data via the new pointer
     instead of requiring its callers to pass pointers to their
     dumpfile-specific function.
   * Linux 3.15 and later kernels configured with CONFIG_RANDOMIZE_BASE can be
     now be readily identified because of new kernel symbols that have been
     added.  For those kernels, the new "--kaslr=<offset>" and/or
     "--kaslr=auto" options are not necessary for ELF or compressed kdump
     vmcores, or for live systems that have /proc/kallsyms showing the
     relocated symbol values.  A new KASLR initialization function called
     kaslr_init() is now called by symtab_init() prior to the initial
     symbol-sorting operation.  If kaslr_init() determines that KASLR may be in
     effect, it will trigger a search for the relevant vmlinux symbols during
     the sorting operation, which in turn will cause the relocation value to be
     automatically calculated.
   * Implemented a new "bt -c cpu(s)" option to display the backtrace of the
     active task on one or more cpus.  The cpus must be specified in a comma-
     and/or dash-separated list; for examples ""3", "1,8,9", "1-23", or
     "1,8,9-14".  Similar to "bt -a", the option is only applicable with crash
     dumps.
   * Fix for Linux 3.11 and later ARM kernels, in which all non-panicking cpus
     offline themselves during a kdump procedure.  This causes an invalid cpu
     count determination during crash session initialization from an ARM
     vmcore.  The patch utilizes the cpu count found in the cpu_active_map if
     it is greater than the count in the cpu_online_map.  In addition, the
     maximum NR_CPUS value for the ARM architecture has been raised from 4 to
     32.
   * Fix for the X86_64 "bt" command on Linux 3.3 and later kernels to properly
     display exception frame register contents on NMI stacks.  Kernel commit
     3f3c8b8c4b2a34776c3470142a7c8baafcda6eb0 added 12 more values to the NMI
     exception stack to handle nested NMIs caused by page faults or breakpoints
     that could occur while handling an NMI exception.
   * Kernel commit 28696f434fef0efa97534b59986ad33b9c4df7f8 changed the stack
     layout again, swapping the location of the "saved" and "copied" registers.
     This can be detected automatically, because the "copied" registers contain
     either a copy of the "saved" registers, or point to "repeat_nmi". So, if
     "repeat_nmi" is found as the return address, assume that this is the old
     layout, and adjust the stack pointer again.  Without the patch, incorrect
     register values are displayed in the exception frame dump in the NMI stack
     backtrace.
   * Fix for the built-in "g" alias, which apparently has not worked correctly
     since crash-5.1.4.  Without the patch, if the "g" alias and the first
     argument are separated by one space, then the first first character of
     that argument would get stripped prior to being passed to the embedded gdb
     module.
   * Removed the BASELEVEL_REVISION string from defs.h, which serves no purpose
     since the deprecation of the remote daemon, and typically has been out of
     sync with the crash version.
   * Fix for the "p", "irq", "struct", "union" and "*" commands if a cpu
     specification contains an invalid cpu number.  Without the patch, a
     segmentation violation may be generated.
   * Implemented a new capability for the "ptov" command that takes a per-cpu
     offset and cpu specification argument and translates it into the kernel
     virtual addresses for the cpus specified.
   * Implemented a new "ps -m" option that is a similar, complementary option
     to "ps -l", but which translates the task timestamp value from a decimal
     or hexadecimal nanoseconds value into a more human-readable string
     consisting of the number of days, hours, minutes, seconds and milliseconds
     that have elapsed since the task started executing on a cpu.  More
     accurately described, it is the time difference between the timestamp
     copied from the per-cpu runqueue clock when the task last started
     executing compared to the most current value of the per-cpu runqueue
     clock.
   * In addition, a new "ps -C <cpu-specifier>" option has been added that can
     only be used with "ps -l" and "ps -m", which sorts the global task list
     into per-cpu blocks; the cpu-specifier uses the standard comma or dash
     separated list, expressed as "-C 1,3,5", "-C 1-3", "-C 1,3,5-7,10", or
     "-Call" or "-Ca" for all cpus.
   * Implemented a new "runq -m" option that is a simliar, complementary option
     to "runq -t", but which displays the amount of time that the active task
     on each cpu has been running, expressed in a format consisting of days,
     hours, minutes, seconds and milliseconds.
   * Implemented a new "kmem -h" option that displays the address of each
     hugepage hstate array entry, its hugepage size, its free and total counts,
     and name string.
   * Implemented a new "ps -S" option that displays a summary consisting of the
     number of tasks in a task state.
   * Fix for the "arguments-input-file" feature to protect against a called
     command modifying an argument string.  For example, the "struct" command
     modifies "-l struct_name.member" argument strings, and so without the
     patch, all iterative calls after the first one will fail.
   * Fix failure to build from source when compiling the crash utility with
     gcc-4.9 (closes: #746835)
   * Fix for displaying enum values that are greater than 32-bits in size.
     Without the patch, the upper 32-bits are clipped off and displayed as
     integer-sized value.
   * If the kernel (live or dumpfile) has the "kpatch" module installed, the
     tag "[KPATCH]" will be displayed next to the kernel name in the initial
     system banner and by the "sys" command.
   * Fix for the "DEBUG KERNEL:" display in the initial system banner and by
     the "sys" command when using a System.map file with a Linux 3.0 and later
     debug kernel.  Without the patch, the kernel version is not displayed in
     parentheses following the debug kernel name.
   * If the gdb-<version>.patch file has changed and a rebuild is being done
     from within a previously-existing build tree, "patch -N" the gdb sources,
     and start the rebuild from the gdb-<version> directory instead of the
     gdb-<version>/gdb directory.
   * Fix to prevent a possible segmentation violation generated by the "runq
     -g" command when run on a very active live system due to an active task on
     a cpu exiting while the command is running.
   * Fix for the "runq -g" command on Linux 3.15 and later kernels, where the
     cgroup_name() function now utilizes kernfs_name().  Without the patch, the
     command fails with the error message "runq: invalid structure member
     offset: cgroup_dentry".
   * Fix for the "extend" command when running with an x86_64 crash binary that
     was built with "make target=ARM64" in order to analyze ARM64 dumpfiles on
     an x86_64 host.  Without the patch, if the extend command is used with an
     extension module built in the same manner, it fails with the message
     "extend: <module>.so: not an ELF format object file".
   * Introduce support for 32-bit ARM kernels that are configured with
     CONFIG_ARM_LPAE.  The patch implements the virtual-to-physical address
     translation of 64-bit PTEs used by ARM LPAE kernels.
 .
 crash (7.0.6-1) unstable; urgency=low
 .
   * Fix for custom X86_64 kernels that change the declaration of the
     context_switch() function so that it is not an inline function.  Without
     the patch, the message "crash: cannot determine thread return address" is
     displayed during invocation, and backtraces of blocked tasks may have
     missing or invalid frames.
   * Fix to prevent a possible invocation-time error on Linux 3.7 and later
     kernels configured with CONFIG_SLAB, running against vmcore files filtered
     with the makedumpfile(8) facility.  Without the patch, the message "crash:
     page excluded: kernel virtual address: <address>  type: kmem_cache buffer"
     is immediately followed by the message "crash: unable to initialize kmem
     slab cache subsystem".  Because of a kernel data structure name change
     from "cache_cache" to "kmem_cache_boot", the crash utility failed to
     properly downsize the stored size of the kernel's kmem_cache data
     structure from the size indicated by the vmlinux debuginfo data.  This in
     turn could lead to reading beyond the end of a kmem_cache data structure
     into a page of memory that had been excluded from the vmcore.  The fix was
     also applied to kernels configured with CONFIG_SLUB.
   * Added a new "--kaslr <offset>" command line option for X86_64 kernels that
     are configured with CONFIG_RANDOMIZE_BASE.  The offset value must be equal
     to the difference between the symbol values compiled into the vmlinux file
     and their relocated KASLR values.
   * Added a new "--kaslr=auto" command line option for X86_64 kernels that
     that are configured with CONFIG_RANDOMIZE_BASE.  When set to "auto", the
     KASLR relocation value will be determined automatically by comparing the
     "_stext" symbol value compiled into the vmlinux file with the _stext
     symbol value stored in kdump vmcoreinfo data; on live systems the
     comparison will be made with the "_stext" symbol value that is found in
     /proc/kallsyms.
   * Enable kernel text line number capability for the "dis -l", "bt -l", "sys
     -c", and "sym" commands for kernels that are configured with
     CONFIG_RANDOMIZE_BASE.
   * Fix for the "crash --log vmcore" command to account for the kernel data
     structure and VMCOREINFO string name changes from "log" to "printk_log" in
     Linux 3.11-rc4 and later kernels.  Without the patch, the command fails
     with the error message "crash: VMCOREINFO: no log buffer data".
   * Adjustment to the internal symbol-handling to prevent the usage of kernel
     system call alias/wrapper names, for examples, "SyS_read" and
     "compat_SyS_futex" instead of "sys_read" and "compat_sys_futex".  Without
     the patch, commands such as "dis", "sym <address>", and "sys -c" display
     the alias/wrapper name instead of the real system call name in Linux 3.10
     and later kernels.
   * Increase the internal hash queue head count from 128 to 32768.  The hash
     queue is used for gathering and verifying lists, and the original count of
     128 may be overwhelmed if a list is extremely large.  For example, on a
     256GB system with 192GB of free pages, the "kmem -f" command takes hours
     to complete; with this patch, the time is reduced to a few minutes.  In
     addition, a new command line option "--hash <count>" has been added to
     allow a user to override the default hash queue head count of 32768.
   * Fix for the "kmem -F" display and the "kmem -f <address>" or "kmem
     <address>" options.  Without the patch, "kmem -F" does not display the
     first page in a list of free page blocks on its own line, but rather at
     the end of the previous line that shows the area number, block size, and
     free_area struct address that the page is linked to.  Due to this error,
     both "kmem -f <address>" and "kmem -f address>" would not find the
     associated page or page block if it happened to be the first page or page
     block in the list.
   * Created a new feature for the internal do_list() function if it is
     necessary to immediately perform a function for each entry in a list while
     the list is being traversed.  A callback function, and an option callback
     data pointer, can be registered in the list_data structure.  The address
     of each entry in the list along with the optional callback data pointer
     will be passed to the callback function.  If desired, the callback
     function may also dictate that do_list() should stop the list traversal
     and return immediately to its caller.
   * Made the "kmem -f <address>" and "kmem <address>" options more efficient
     by using the new do_list() callback function feature above as well as
     restricting the search to only the NUMA node that contains the address.
   * If the first assembly language instruction in an X86_64 function is "nopl
     0x0(%rax,%rax,1)" or "data32 data32 data32 xchg %ax,%ax", which are
     generated when the ftrace facility is configured, the X86_64 "dis" command
     will append "[FTRACE NOP]" to the line.
   * Correction for the "crash -h" and crash.8 man page documentation of the
     "--machdep phys_base=<physical-address>" command line option.  In both
     places the parameter mistakenly indicated "physbase".
   * If a host build system does not have /usr/bin/wget installed, and the
     crash package is built from a directory that was git-cloned from
     github.com/crash-utility/crash.git, the error message has been clarified
     to indicate "/usr/bin/wget is required to download gdb-7.6.tar.gz".
     Without the patch, the message indicates "tar (child): gdb-7.6.tar.gz:
     Cannot open: No such file or directory".
   * Updated the ARM64 implementation to support Linux 3.13 and later kernels
     that expand to a 42-bit address space when 64K pages are configured.  This
     is also the first crash version that has been tested on a live ARM64
     system with 4K pages, where it cleanly make it to the "crash>" prompt.
     However, it should be noted that some commands (most notably "bt") still
     do not work as of yet.
   * Document the "--machdep phys_offset=<physical-address>" command line
     option for the ARM64 architecture in the crash.8 man page and the "crash
     -h" output.
   * Fix for KVM dumpfiles created with "virsh dump --memory-only" if an X86_64
     kernel was loaded with a non-zero "phys_base".  Without the patch, the
     crash session fails with the warning message "WARNING: cannot read
     linux_banner string" followed by the fatal error message "crash: vmlinux
     and <dumpfile name> do not match!".
   * Initial working implementation of the basic ARM64 "bt" command, with
     several command options still under development.  In-kernel exception
     frames are only dumped if the exception handler function is contained
     within the symbol boundaries from "__exception_text_start" to
     "__exception_text_end"; when ARM64 kdump is eventually implemented,
     further exception-related work will be resumed.
   * Cleaned up the exception frame displays of 64-bit in-kernel and both
     32-bit and 64-bit user-mode exceptions.
   * Implemented support for the ARM64 "bt -e" option.
   * Implemented support for the ARM64 "bt -l" option.
   * Update for the X86_64 "bt -l" option such that it also displays the
     available file and line number information for functions indicated as the
     "exception RIP" in kernel exception frames.  The line number information
     will follow the exception frame register dump.
   * Fix for the ARM64 virtual-to-physical translation of vmemmap page
     structure addresses for kernels configured with 4K pages.  Without the
     patch, any command that required the contents of a page structure would
     fail with a readmem error.
   * Added support for the ARM64 architecture in the extensions/snap.c
     extension module.  Also fixed the progress percentage display to correct
     for systems which have non-zero starting physical addresses.
   * Implemented support for the ARM64 "bt -f" and "bt -F[F]" options.
   * Increase the ARM64 PTRS_PER_PGD_L2_64K from 1024 to 9182 to account for
     the Linux 3.13 increase of the ARM64 virtual address space size from 39 to
     42 bits when 64K pages are configured.  Without the patch, the warning
     message "WARNING: cannot access vmalloc'd module memory" is displayed
     during session initialization.
   * Fix for the "vm -p" option on ARM64 so that file-backed pages are properly
     translated to the filename and offset.  Without the patch, file-backed
     pages are erroneously shown as being backed on a swap device.
   * Increment maximum ARM64 physical address from 40 to 48 bits to match
     upstream kernel commit 87366d8cf7b3f6dc34633938aa8766e5a390ce33.
   * Fix for a segmentation violation generated by the "crash -g vmlinux"
     command on ARM64.
   * Fix for the ARM64 "vtop <address>" command on kernels configured with 64K
     pages if the address argument is located in the kernel logical memory map
     region, which uses 512MB hugepage mappings.  Without the patch, the
     verbose page table walk mistakenly continues to the PTE level.
   * Fix for ARM64 /proc/kcore support.  Without the patch, the crash session
     fails with the warning message "WARNING: cannot read linux_banner string"
     followed by the fatal error message "crash: vmlinux and <dumpfile name> do
     not match!".  At this point in time, the kernel requires a patch to the
     ARM64 kern_addr_valid() function to properly allow memory to be read from
     the kernel logical memory map region.
Checksums-Sha1:
 a93b5c8506823399422c526cd71f7d1b57ce365d 1322 crash_7.0.7-1ubuntu1.dsc
 6041cb32dedabdae2ee948dfcea51f1391d96053 32041666 crash_7.0.7.orig.tar.gz
 45f42b904e49fc81db2ea0744cf5f21e6701ead4 127693 crash_7.0.7-1ubuntu1.diff.gz
Checksums-Sha256:
 9357e583b0a7989ede6f88839cc668dceab618762e6d3efe8e0acf99a5cc07b2 1322 crash_7.0.7-1ubuntu1.dsc
 c473ea9623787bee8fecf2e4d0caa9301a9462c26243e897ad202bf0dc3e9a07 32041666 crash_7.0.7.orig.tar.gz
 1369bbe969cbdc133b040b8c7436ce1c084f26f8d24e49703520f01be8748db2 127693 crash_7.0.7-1ubuntu1.diff.gz
Files:
 82caf0b17d2034d4688c41824fdd933c 1322 utils optional crash_7.0.7-1ubuntu1.dsc
 a671c6aead4ce89a3123ccf0e04c6693 32041666 utils optional crash_7.0.7.orig.tar.gz
 e66bbb134d2aa3e723ddb4a0f4c9741d 127693 utils optional crash_7.0.7-1ubuntu1.diff.gz
Original-Maintainer: Troy Heber <troyh at debian.org>

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iEYEARECAAYFAlPkvjEACgkQStlRaw+TLJzUCACgnUn0QWaDHwiuFy8vLO8K87/z
MG4An3QS1KJOy4UFwz2stkj4+sq+U9uZ
=924D
-----END PGP SIGNATURE-----


More information about the Utopic-changes mailing list