[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Accepted crash 7.1.1-1 (source amd64) into unstable



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Wed, 27 May 2015 11:20:02 -0600
Source: crash
Binary: crash
Architecture: source amd64
Version: 7.1.1-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: 699367 756969
Changes:
 crash (7.1.1-1) unstable; urgency=medium
 .
   * Autopkgtest fix from Martin Pitt <mpitt@debian.org>  (Closes: #756969):
    - Drop sudo calls; they potentially hang forever asking for a password or
      might get denied, destroy the environment, and are not necessary as the
      test already has "needs-root".
    - Fix invalid indentation of here-doc
    - Suppress expected stderr output of apt-key (which causes a test failure)
    - Drop "set -x", as that causes stderr output and the called commands are
      already verbose enough.
    - Drop -security pocket for Ubuntu's ddebs.u.c., as that does not exist.
 .
   * Fix for two minor issues with the "net" command.  Without the patch, the
     "net -a" option appends its correct output with the command's "Usage:"
     message; and if either the "net -x" or "net -d" options are used without
     also specifying "-s" or "-S", the error message would indicate "net:
     illegal flag: 800000" or "net: illegal flag: 1000000" instead of showing
     the command's "Usage:" message.
 .
   * If the kernel (live or dumpfile) has the TAINT_LIVEPATCH bit set, or if
     the Red Hat "kpatch" module is installed, the tag "[LIVEPATCH]" will be
     displayed next to the kernel name in the initial system banner and by the
     "sys" command.  This new tag replaces the "[KPATCH]" tag that was
     introduced in crash-7.0.7.
 .
   * Addressed three Coverity Scan complaints in vmware_vmss.c:
 .
     50:leaked_storage: Variable "fp" going out of scope leaks the
        storage it points to.
     53:leaked_storage: Variable "fp" going out of scope leaks the
        storage it points to.
    256:warning: Use of memory after it is freed
 .
   * Remove the LKCD-only "propeller spinner" seen when a dumpfile read
     requires more than 2048 page header accesses.  This was put in place
     because of the non-random-access design of LKCD dumpfiles.  Without the
     patch, the spinner display is intermingled with command output, which
     complicates the parsing of the output.
 .
   * Fix to support the Linux version increment from 3 to 4.  Without the
     patch, both dumpfile and live sessions fail during initialization, issuing
     the message "WARNING: kernel version inconsistency between vmlinux and
     dumpfile" or "WARNING: kernel version inconsistency between vmlinux and
     live memory", followed by the nonsensical fatal error message "crash:
     incompatible arguments:  vmlinux is not SMP -- vmcore is SMP" or "crash:
     incompatible arguments:  vmlinux is not SMP -- live system is SMP".  To
     prevent unexpected kernel version bumps in the future, support has been
     added for version 5.
 .
   * Add support for more than 16TB of physical memory space in the SADUMP
     dumpfile format.  Without the patch, there is a limitation caused by
     several 32-bit members of dump_header structure, in particular the
     max_mapnr member, which overflows if the dumpfile contains more than 16TB
     of physical memory space.  The header_version member of the dump_header
     structure has been increased from 0 to 1 in this extended new format, and
     the new 64-bit members will be used.
 .
   * Fix for command lines that are redirected to a pipe.  Without the patch,
     if an external piped-to command contains a quoted string that includes a
     "|" character, the command fails with the message "crash: pipe operation
     failed".
 .
   * Fix for insecure temporary file usage in _rl_tropen() as reported by
     readline library CVE-2014-2524.
 .
   * When the gdb-<version>.patch file has changed and a rebuild is done from
     within a previously-existing build tree, the "patch -N" option is used to
     ignore patches that have been previously applied; this patch also applies
     the "patch -r-" option to prevent unnecessary .rej files from being
     created.
 .
   * Fix to account for Xen hypervisor's "domain" structure member name change
     from "is_paused_by_controller" to "controller_pause_count".  Without the
     patch, in Xen 4.2.5 and later, the crash session fails during
     initialization with the error message 'crash: invalid structure member
     offset: domain_is_paused_by_controller".
 .
   * During initialization, reject useless ARM64 "(A)" and "(a)" absolute
     symbols that are below the text region.  Without the patch, several
     recently-introduced absolute symbols have been introduced into the kernel,
     which will be displayed by "sym -l" prior to the first kernel virtual
     address symbol, and will show up in command output where memory values are
     translated into kernel symbol references.
 .
   * Fix for ARM64 kernels to account for changes in the virtual memory layout
     introduced in Linux 3.17.  The vmalloc region end address, and the vmemmap
     start and end addresses are now calculated at kernel build time, because
     they depend upon the size of a struct page.  Accordingly, the crash
     utility needs to calculate those three address values dynamically, after
     the embedded gdb module has initialized.  Without the patch, reads of page
     structures return invalid data due to incorrect virtual-to-physical
     translations of memory in the vmemmap range.  This in turn causes commands
     that require page structure contents to fail or show invalid data, such as
     "kmem -p", "kmem -[sS]", and the "kmem -[fF]" options.
 .
   * Fix to support ELF vmcore dumpfiles whose PT_LOAD file offset values of
     their respective memory segments are not laid out sequentially from low to
     high in the dumpfile.  This has only been seen in ELF dumpfiles created by
     VMware's "vmss2core -M" facility.  Without the patch, the crash session
     may fail during initialization, either with the message "cannot malloc ELF
     header buffer", or "crash: <dumpfile>: not a supported file format".
 .
   * Enhancement to the support of VMware .vmss suspended state dumpfiles.
     There may be holes in the memory address saved for PCI, etc.  In such
     cases, the memory dump is divided into regions.  With this patch, up to 3
     memory regions are supported.
 .
   * Fortified the error handling of task gathering from the pid_hash[] chains
     during session initialization.  If a chain has been corrupted, the patch
     prevents the sequence from entering an infinite loop, and the error
     messages associated with corrupt/invalid chains have been updated to
     report the pid_hash[] index number.
 .
   * Implemented a new STRDUPBUF() utility that will duplicate an existing
     string into a buffer allocated with GETBUF().  As is the case with any
     buffer allocated with GETBUF(), it is only meant to exist during the
     life-span of the current command.  If it is not explicitly freed via
     FREEBUF(), then it will be freed automatically prior to the next command.
 .
   * Implemented a new fill_struct_member_data() function that gathers a bundle
     of data that describes a structure member.  The function receives a
     pointer to a struct_member_data structure, in which the caller has
     initialized the "structure" and "member" name pointers:
 .
     struct struct_member_data {
             char *structure;
             char *member;
             long type;
             long unsigned_type;
             long length;
             long offset;
             long bitpos;
             long bitsize;
     };
 .
     A gdb "printm" command is crafted using those two fields, and the output
     of the command is used to initialize the remaining six fields.  Adapted
     from Qiao Nuohan's "pstruct" extension module.
 .
   * Implemented a new "runq -c cpu(s)" option to display the run queue data of
     specified cpus.  It can be used in conjunction with all runq command
     options.  The cpus must be specified in a comma- and/or dash-separated
     list; for examples, "3", "1,8,9", "1-23", or "1,8-15".
 .
   * Build extension modules that utilize the generic extensions/Makefile
   with -g.  In addition, build the snap.c extension module with -g.
 .
   * Several fixes, updates, and enhancements for 32-bit MIPS support:
     (1) The MIPS general purpose registers in the elf_gregset_t
         don't start at index 0 but at index 6.
     (2) Adjust for the kernel's pt_regs structure changes between
         kernel versions.  For example, fields are inserted into the
         middle based on build time options, and the amount of padding
         at the head of the structure was changed relatively recently.
         To handle this, split the structure definition into two parts
         and get the offsets of these two parts dynamically.
     (3) Do not display each parsed kernel symbol during initialization
         when invoked with "crash -d8".
     (4) Add support for loading raw MIPS ramdump dumpfiles.
     (5) Add support for compressed kdump dumpfiles.
 .
   * Fix for a typo in "help foreach", and a fix for a spelling error in "help
     input".
 .
   * Fix for "and and" and "the the" typos in the README file.
 .
   * Fix to address the Xen 4.5.0 hypervisor symbol name change from "dom0" to
     "hardware_domain".  Without the patch, the crash session fails with the
     error message "crash: cannot resolve: dom0".
 .
   * Fix for a regression in crash-7.1.0 that causes failures when the "crash
     -t" option is run on a live system, and when analyzing remote Linux
     kernels.  Without the patch, "crash -t" on a live system fails with the
     message "crash: cannot open remote memory source: /dev/mem", and attempts
     to analyze a Linux kernel remotely just shows the kernel timestamp and
     exits immediately.
 .
   * Speed up the session invocation time of "flattened" format dumpfiles
     created by the makedumpfile(8) facility.  When sorting the blocks of
     memory by their intended ELF or compressed kdump file offsets, the patch
     replaces the bubble-sort method that is currently used with an insertion
     sort method.
 .
   * Remove the non-existent "-L" option from the "ps" command's mutually-
     exclusive options error message.
 .
   * Fix for the "irq", "mount", "kmem -p" and "kmem -v" commands when they are
     used in an input file.  If more than one of any of those four commands are
     used in an input file, the output of the second and subsequent command
     instances will not display their respective command headers.
 .
   * Implemented a new "kmem -m" option that is similar to "kmem -p", but it
     allows the user to specify the page struct members to be displayed.  The
     option takes a comma-separated list of one or more page struct members,
     which will be displayed following the page structure address.  The "flags"
     member will always be expressed in hexadecimal format, and the "_count"
     and "_mapcount" members will always be expressed in decimal format.
     Otherwise, all other members will be displayed in hexadecimal format
     unless the current output radix is 10 and the member is a signed/unsigned
     integer.  Members that are data structures may be specified by the data
     structure's member name, or expanded to specify a member of that data
     structure.  For example, "-m lru" refers to a list_head data structure, in
     which case both the list_head.next and list_head.prev pointer values will
     be displayed; if "-m lru.next" is specified, just the list_head.next value
     will be displayed.
 .
   * Support enhancement for the 32-bit MIPS architecture that retrieves the
     per-cpu registers from the NT_PRSTATUS notes stored in the header of
     compressed kdump dumpfiles.
 .
   * Fix to remove an invalid warning message on ARM64 if a crash session is
     invoked with the "-d<number>" debug flag.  Without the patch, the invalid
     message is "WARNING: SPARSEMEM_EX: questionable section values".
 .
   * Remove the leftover ".constructor" build file in the extensions
     subdirectory when "make extensions" is complete, and update the top-level
     .gitignore file to ignore post-build extensions subdirectory files.
 .
   * Fix for a segmentation violation generated by the "help -[n|D]" options on
     ARM64 compressed kdumps.
 .
   * Additional output for the "help [-D|-n]" options on ARM64.  For ELF kdump
     vmcores and compressed kdumps, the elf_prstatus structure in each
     NT_PRSTATUS note will be translated.
 .
   * The "help -r" option has been extended to dump the ARM64 registers stored
     in each per-cpu NT_PRSTATUS note in compressed kdump and ELF kdump
     dumpfiles.
 .
   * Fix for the ARM64 page size determination on Linux 4.1 and later kernels.
     Without the patch, the crash session fails during initialization with the
     message "crash: invalid/unsupported page size: 98304" on kernels with 64K
     pages.  On kernels with 4K pages, the message is "crash:
     invalid/unsupported page size: 6144".  In addition, the "-p <page-size>"
     command line override option had no effect on ARM64; that has been fixed
     as well.
 .
   * Fix for the DATE display in the initial system banner and by the "sys"
     command to account for the Linux 3.17 change that moved the "timekeeper"
     symbol and structure into a containing tk_core structure; the
     "shadow_timekeeper" timekeeper will be used as an alternative.  Without
     the patch, the DATE shows something within a few hours of the Linux epoch,
     such as "Wed Dec 31 18:00:00 1969".
 .
   * Fixes for the translation of ARM64 PTEs, as displayed by the "vm -p" and
     "vtop" commands.  Without the patch, if "vm -p" references a swapped-out
     page on Linux 4.0 and later kernels, the SWAP location may indicate
     "(unknown swap location)", and will show an invalid OFFSET value; on Linux
     3.13 and later kernels, running "vtop" on a user virtual address
     incorrectly translates the PTE contents of swapped out pages by showing a
     PHYSICAL address and FLAGS translation instead of the SWAP device and
     OFFSET.  It is possible that there may be PTE bit translation errors on
     other kernel versions; the patch addresses the changes in ARM64 PTE bit
     definitions made in Linux 3.11, 3.13, and 4.0 kernels.
 .
   * Enhanced the "struct.member" display capability of the "struct", "union",
     "task", "list" and "tree" commands.  If a specified structure member
     contains an embedded structure, the output may be restricted to just the
     embedded structure by expressing the .member argument as "member.member".
     If a specified structure member is an array, the output may be restricted
     to a single array element by expressing the .member argument as
     "member[index]".  Furthermore, these embedded member specifications may
     extend beyond one level deep, for example, by expressing the member
     argument as "member.member.member", or "member[index].member".
 .
   * Fix for any command that passes strings to gdb for evaluation, where the
     string contains a parentheses-within-parentheses expression along with a
     ">" or ">>" operator inside the outermost set of parentheses.  Without the
     patch, a command such as the following fails like so:
 .
     crash> p ((1+1) >> 1)
     p: gdb request failed: p ((1+1)
     crash>
 .
   * Fix for the handling of ARM64 kernel module per-cpu symbols.  Without the
     patch, if the debuginfo data of an ARM64 kernel module that contains a
     per-cpu section is loaded by "mod -s <module>" or "mod -S", commands such
     as "bt" or "sym" may incorrectly translate the module's virtual addresses
     to symbol names.
 .
   * Fix to support the Linux version increment from 3 to 4.  (Closes: #699367)
     Without the patch, both dumpfile and live sessions fail during
     initialization, issuing the message "WARNING: kernel version inconsistency
     between vmlinux and dumpfile" or "WARNING: kernel version inconsistency
     between vmlinux and live memory", followed by the nonsensical fatal error
     message "crash: incompatible arguments:  vmlinux is not SMP -- vmcore is
     SMP" or "crash: incompatible arguments:  vmlinux is not SMP -- live system
     is SMP"
Checksums-Sha1:
 f39f0ecabbbba4898060165baebbaf235b378a3d 1802 crash_7.1.1-1.dsc
 2b6f8c2816043105cf12c546b57806b4b03b54ed 32123626 crash_7.1.1.orig.tar.gz
 e2a6eb5858c2a9ddcf6dd46b7946556eb7c44f2e 88313 crash_7.1.1-1.diff.gz
 372bac0cd8894bbcbf37bfae7778c522a3e96d0f 2580800 crash_7.1.1-1_amd64.deb
Checksums-Sha256:
 c54bac4317b1027f25eec4f744a480be26ef039289b01a7787473b98f1e90109 1802 crash_7.1.1-1.dsc
 ff5d7a2ecc7bc675e1cd08d3460dd2c6998ef13fb222d86cd10905ade2f2f116 32123626 crash_7.1.1.orig.tar.gz
 6968ec95691bda81d79175d3bd71e22bc683dfd22ab709236c87918f61db79c7 88313 crash_7.1.1-1.diff.gz
 5d8cbc5ca3d88b0599621dfc811f96a43822af283158ec666ac77f6526907ba0 2580800 crash_7.1.1-1_amd64.deb
Files:
 05be2d4194a2a05e5e4c6599648e959c 1802 utils optional crash_7.1.1-1.dsc
 6e009d065ba7f34aed0163a5154318ff 32123626 utils optional crash_7.1.1.orig.tar.gz
 42d11f539d6f1f4f69a80b1c42d7d444 88313 utils optional crash_7.1.1-1.diff.gz
 709cc101fc040765ac745ea91ec5bba1 2580800 utils optional crash_7.1.1-1_amd64.deb

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

iQIVAwUBVWYYcNt8A2Cyy2WXAQgM0w//X9cmU6tSEaQe7/pZ0aJ2cC9GxvlbIqsx
pflSGcLyudvMoQF/kx/TvremUj8ZWXNIuJeFX+Mfj3fokRUrBNOBSBjDY9RiUDay
1kr7/6Cn5PnL5vmTn0OLl2tvmBBTe8EKaiYxqKqMwcW69apuvzMYmiFnLf9bobaY
DrjRQxgQamI6yvZ62MGV4ocYxNDC/GCP4wl1PWGnECwZxzuzg4IyA8mKmzzOBjYb
zAAl8IsdubsNcD0E1/wBVTBqSYCn5rTFX3AFbLIJxF/++2NN0A5UReFpuiqPrd1U
c4WFKxHIj/GBrHehFGBM32PINYQUdgMA8ssp6LZAR3hFDMug/SdnWDT1ZOcBgsQc
J3zg5HtiNmFR3sZRHDhWPljT7vhvATzP13bG+P53CeGHRvDKfyhWHsU5UgiUzbYs
yNCVhosbCO5PRX18AZRhkiPQYkjhmmKhxDCZt2pDcq7TDlNcXj4olR9Sh4zk79/T
k63lWCKuViDlON4jNMXZxTkYTUnKCFYZirFW53dNTI27hy5GyEbMeBCgWxpOLUV1
MBxBBHNqJyqMyfKt/m95sIWrfXzg2lsZOFhkv6NMe+qfDpXlAlu+ox0bQLvK0jqY
LHm3ZfbpKJU1feidrCAGI/0NTrFhLgyuQGpblDVaTxN0OEXhkz0IDxBZIAMYIzpH
YfqlkS+dg+w=
=zhVd
-----END PGP SIGNATURE-----


Reply to: