Back to crash PTS page

Accepted crash 8.0.2-1 (source) into unstable



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

Format: 1.8
Date: Thu, 17 Nov 2022 11:27:25 -0700
Source: crash
Architecture: source
Version: 8.0.2-1
Distribution: unstable
Urgency: medium
Maintainer: Troy Heber <troyh@debian.org>
Changed-By: Troy Heber <troyh@debian.org>
Changes:
 crash (8.0.2-1) unstable; urgency=medium
 .
   * New upstream
   * commit f1cd581d1c4afa5b8ffdfaa6a3ea9f545fe4ec91
   * Author: Kazuhito Hagio <k-hagio-ab@nec.com>
   * Date:   Wed Nov 16 13:13:39 2022 +0900
   *
   *     crash-8.0.1 -> crash-8.0.2
   *
   *     Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *
   * commit a158590f475c8d6d504b0c5e28b3cd91cfd47877
   * Author: Lianbo Jiang <lijiang@redhat.com>
   * Date:   Wed Nov 9 14:21:57 2022 +0800
   *
   *     Fix for "ps/vm" commands to display correct %MEM and RSS values
   *
   *     The ps/vm commands may print the bogus value of the %MEM and RSS, the
   *     reason is that the counter of rss stat is updated in asynchronous manner
   *     and may become negative, when the SPLIT_RSS_COUNTING is enabled in
   *     kernel.
   *
   *     As a result, crash will read it from memory and convert from negative to
   *     unsigned long integer, eventually it overflows and gets a big integer.
   *     For example:
   *
   *       crash> ps 1393
   *           PID    PPID  CPU       TASK        ST  %MEM      VSZ      RSS  COMM
   *          1393       1  24  ffff9584bb542100  RU  541298032135.9     4132 18014398509481908  enlinuxpc64
   *                                                  ^^^^^^^^^^^^^^          ^^^^^^^^^^^^^^^^^
   *
   *     This is unexpected, crash needs to correct its value for this case.
   *
   *     Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
   *
   * commit 21139d9456ee41ffc8cec804dc530d6934ddac89
   * Author: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
   * Date:   Mon Oct 24 11:35:29 2022 +0200
   *
   *     Fix segmentation fault in page_flags_init_from_pageflag_names()
   *
   *     When read_string() fails in page_flags_init_from_pageflag_names(),
   *     error() dereferences the name variable to print the string that the
   *     variable points to. However, name points to a string that is not in
   *     crash's memory-space thus triggering a segmentation fault.
   *
   *     This patch replaces "%s" in the error message with "%lx" so the address
   *     is printed instead.  Also replaces "%ld" for mask with "%lx".
   *
   *     [ kh: changed the conversion specifiers and commit message ]
   *
   *     Signed-off-by: Matias Ezequiel Vara Larsen <matias.vara@vates.fr>
   *     Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *
   * commit 487551488b15fcd135b29990593699a121730219
   * Author: Lianbo Jiang <lijiang@redhat.com>
   * Date:   Tue Oct 4 18:57:11 2022 +0800
   *
   *     ppc64: still allow oneto move on if the emergency stacks info fails to
   *     initialize
   *
   *     Currently crash will fail and then exit, if the initialization of
   *     the emergency stacks information fails. In real customer environments,
   *     sometimes, a vmcore may be partially damaged, although such vmcores
   *     are rare. For example:
   *
   *       # ./crash ../3.10.0-1127.18.2.el7.ppc64le/vmcore
   *       ../3.10.0-1127.18.2.el7.ppc64le/vmlinux  -s
   *       crash: invalid kernel virtual address: 38  type:
   *       "paca->emergency_sp"
   *       #
   *
   *     Lets try to keep loading vmcore if such issues happen, so call
   *     the readmem() with the RETURN_ON_ERROR instead of FAULT_ON_ERROR,
   *     which allows the crash move on.
   *
   *     Reported-by: Dave Wysochanski <dwysocha@redhat.com>
   *     Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
   *
   * commit 3b5e3e1583a1f596360c04e8a322e30cf88f27ab
   * Author: Tao Liu <ltao@redhat.com>
   * Date:   Mon Sep 19 17:49:23 2022 +0800
   *
   *     Let "kmem" print task context with physical address
   *
   *     Patch [1] enables "kmem" to print task context if the given virtual
   *     address is a vmalloced stack.
   *
   *     This patch lets "kmem" print task context also when the given address
   *     is a physical address.
   *
   *     Before:
   *         crash> kmem 1883700e28
   *            VMAP_AREA         VM_STRUCT                 ADDRESS RANGE                SIZE
   *         ffff94eb9102c640  ffff94eb9102b140  ffffb7efce9b8000 - ffffb7efce9bd000    20480
   *
   *               PAGE         PHYSICAL      MAPPING       INDEX CNT FLAGS
   *         ffffdd28220dc000 1883700000                0        0  1 50000000000000
   *
   *     After:
   *         crash> kmem 1883700e28
   *             PID: 847
   *         COMMAND: "khungtaskd"
   *            TASK: ffff94f8038f4000  [THREAD_INFO: ffff94f8038f4000]
   *             CPU: 72
   *           STATE: TASK_RUNNING (PANIC)
   *
   *            VMAP_AREA         VM_STRUCT                 ADDRESS RANGE                SIZE
   *         ffff94eb9102c640  ffff94eb9102b140  ffffb7efce9b8000 - ffffb7efce9bd000    20480
   *
   *               PAGE         PHYSICAL      MAPPING       INDEX CNT FLAGS
   *         ffffdd28220dc000 1883700000                0        0  1 50000000000000
   *
   *     [1]: https://listman.redhat.com/archives/crash-utility/2022-September/010115.html
   *
   *     [ kh: squashed the 4/4 patch into 3/4 ]
   *
   *     Signed-off-by: Tao Liu <ltao@redhat.com>
   *     Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *
   * commit 60cb8650a0126abda661c44d198ebde514eca3e2
   * Author: Tao Liu <ltao@redhat.com>
   * Date:   Mon Sep 19 17:49:22 2022 +0800
   *
   *     Fix page offset issue when converting physical to virtual address
   *
   *     When trying to convert a physical address to its virtual
   *     address in dump_vmap_area() and dump_vmlist(), the vi->retval
   *     is added by 2 values: the page aligned address "pcheck"
   *     and page offset address "PAGEOFFSET(paddr)".
   *
   *     However "paddr" is given by "pcheck", is also page aligned,
   *     so "PAGEOFFSET(paddr)" is always 0.
   *
   *     In this patch, we will use PAGEOFFSET(vi->spec_addr) to give the
   *     page offset, vi->spec_addr is the physical address we'd like
   *     to convert, which contains the correct page offset.
   *
   *     Signed-off-by: Tao Liu <ltao@redhat.com>
   *
   * commit ad1397a73594d65aaad9d0b9a94a1dd75d8c61dd
   * Author: Tao Liu <ltao@redhat.com>
   * Date:   Mon Sep 19 17:49:21 2022 +0800
   *
   *     Fix "kmem" failing to print task context when address is vmalloced stack
   *
   *     When kernel enabled CONFIG_VMAP_STACK, stack can be allocated to
   *     vmalloced area. Currently crash didn't handle the case, as a result,
   *     "kmem" will not print the task context as expected. This patch fix the
   *     bug by checking if the address is a vmalloced stack first.
   *
   *     Before:
   *         crash> kmem ffffb7efce9bbe28
   *            VMAP_AREA         VM_STRUCT                 ADDRESS RANGE                SIZE
   *         ffff94eb9102c640  ffff94eb9102b140  ffffb7efce9b8000 - ffffb7efce9bd000    20480
   *
   *               PAGE         PHYSICAL      MAPPING       INDEX CNT FLAGS
   *         ffffdd28220dc000 1883700000                0        0  1 50000000000000
   *
   *     After:
   *         crash> kmem ffffb7efce9bbe28
   *             PID: 847
   *         COMMAND: "khungtaskd"
   *            TASK: ffff94f8038f4000  [THREAD_INFO: ffff94f8038f4000]
   *             CPU: 72
   *           STATE: TASK_RUNNING (PANIC)
   *
   *            VMAP_AREA         VM_STRUCT                 ADDRESS RANGE                SIZE
   *         ffff94eb9102c640  ffff94eb9102b140  ffffb7efce9b8000 - ffffb7efce9bd000    20480
   *
   *               PAGE         PHYSICAL      MAPPING       INDEX CNT FLAGS
   *         ffffdd28220dc000 1883700000                0        0  1 50000000000000
   *
   *     Signed-off-by: Tao Liu <ltao@redhat.com>
   *
   * commit 4ea3a806d11f000f2eb1ddc72c2b7a543e319f64
   * Author: Lianbo Jiang <lijiang@redhat.com>
   * Date:   Fri Sep 16 14:00:01 2022 +0800
   *
   *     Fix for the invalid linux_banner pointer issue
   *
   *     Currently, crash may fail with the following error:
   *
   *       # ./crash -s vmlinux vmcore
   *       WARNING: invalid linux_banner pointer: 65762078756e694c
   *       crash: vmlinux and vmcore do not match!
   *
   *     The reason is that the type of the symbol in the data segment may be
   *     defined as 'D' or 'd'. The crash only handled the type 'D', but it
   *     didn't deal with the type 'd'. For example:
   *
   *       # nm vmlinux | grep linux_banner
   *       ffffffff827cfa80 d linux_banner
   *
   *     It has been observed that a vmlinux compiled by clang has this type.
   *     Let's add the type 'd' recognition to solve such issue.
   *
   *     Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
   *
   * commit bdbf5887d6259ea3108d4fa674f3794adad54d52
   * Author: Kazuhito Hagio <k-hagio-ab@nec.com>
   * Date:   Thu Sep 1 13:42:28 2022 +0900
   *
   *     Fix gcc-11 compiler warnings on gdb-10.2/gdb/symtab.c
   *
   *     Without the patch, the following gcc-11 compiler warnings are emitted
   *     for gdb-10.2/gdb/symtab.c:
   *
   *     symtab.c: In function 'void gdb_get_datatype(gnu_request*)':
   *     symtab.c:7131:31: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   *       7131 |         register struct type *type;
   *            |                               ^~~~
   *     symtab.c:7132:31: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   *       7132 |         register struct type *typedef_type;
   *            |                               ^~~~~~~~~~~~
   *     ...
   *
   *     Usually we don't fix compiler warnings for gdb, but these are emitted
   *     even by "make clean ; make warn", which doesn't recompile the whole
   *     gdb, so it would be better to fix.
   *
   *     Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *
   * commit 51acac75cdb20caab30a85ebfec5906efe034477
   * Author: Kazuhito Hagio <k-hagio-ab@nec.com>
   * Date:   Thu Sep 1 14:03:09 2022 +0900
   *
   *     Fix gcc-12 compiler warnings on lkcd_*.c
   *
   *     Without the patch, the following gcc-12 compiler warnings are emitted
   *     for lkcd_*.c:
   *
   *     lkcd_v1.c: In function 'dump_lkcd_environment_v1':
   *     lkcd_v1.c:252:20: warning: the comparison will always evaluate as 'true' for the address of 'dh_panic_string' will never be NULL [-Waddress]
   *       252 |                 dh && dh->dh_panic_string &&
   *           |                    ^~
   *     In file included from lkcd_v1.c:21:
   *     lkcd_vmdump_v1.h:108:30: note: 'dh_panic_string' declared here
   *       108 |         char                 dh_panic_string[DUMP_PANIC_LEN];
   *           |                              ^~~~~~~~~~~~~~~
   *     ...
   *
   *     Reported-by: Lianbo Jiang <lijiang@redhat.com>
   *     Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *
   * commit 5b9d3e98cda9d99f3277aabec30d076e62cc5e71
   * Author: Chunguang.Xu <chunguang.xu@shopee.com>
   * Date:   Thu Aug 25 12:07:20 2022 +0800
   *
   *     Add debian/ubuntu vmlinux location to default search dirs
   *
   *     Now crash cannot find debian/ubuntu kernel vmlinux, we need to
   *     explicitly specify the path to vmlinux. Try to add the debian
   *     vmlinux location to default search directories.
   *
   *     Signed-off-by: Chunguang Xu <chunguang.xu@shopee.com>
   *
   * commit 3ed9ec5c8d09cffac9772abbf54214125ade9127
   * Author: Tao Liu <ltao@redhat.com>
   * Date:   Wed Aug 31 11:54:15 2022 +0800
   *
   *     x86_64: Correct the identifier when locating the call instruction
   *
   *     The previous implementation to locate the call instruction is
   *     to strstr "call", then check whether the previous char is ' '
   *     or '\t'. The implementation is problematic. For example it
   *     cannot resolve the following disassembly string:
   *
   *     "0xffffffffc0995378 <nfs41_callback_svc+344>:\tcall   0xffffffff8ecfa4c0 <schedule>\n"
   *
   *     strstr will locate the "_call" and char check fails,
   *     as a result, extract_hex fails to get the calling address.
   *
   *     NOTE: the issue is more likely to be reproduced when patch[1] applied.
   *     Because without patch[1], the disassembly string will be as follows,
   *     so the issue is no longer reproducible.
   *
   *     "0xffffffffc0995378:\tcall   0xffffffff8ecfa4c0 <schedule>\n"
   *
   *     Before the patch:
   *         crash> bt 1472
   *         PID: 1472     TASK: ffff8c121fa72f70  CPU: 18   COMMAND: "nfsv4.1-svc"
   *          #0 [ffff8c16231a3db8] __schedule at ffffffff8ecf9ef3
   *          #1 [ffff8c16231a3e40] schedule at ffffffff8ecfa4e9
   *
   *     After the patch:
   *         crash> bt 1472
   *         PID: 1472     TASK: ffff8c121fa72f70  CPU: 18   COMMAND: "nfsv4.1-svc"
   *          #0 [ffff8c16231a3db8] __schedule at ffffffff8ecf9ef3
   *          #1 [ffff8c16231a3e40] schedule at ffffffff8ecfa4e9
   *          #2 [ffff8c16231a3e50] nfs41_callback_svc at ffffffffc099537d [nfsv4]
   *          #3 [ffff8c16231a3ec8] kthread at ffffffff8e6b966f
   *          #4 [ffff8c16231a3f50] ret_from_fork at ffffffff8ed07898
   *
   *     This patch fix the issue by strstr "\tcall" and " call", to
   *     locate the correct call instruction.
   *
   *     [1]: https://listman.redhat.com/archives/crash-utility/2022-August/010085.html
   *
   *     Signed-off-by: Tao Liu <ltao@redhat.com>
   *
   * commit 2145b2bb79c59aa25c5155a8f9851554d1813fb9
   * Author: Tao Liu <ltao@redhat.com>
   * Date:   Wed Aug 31 11:54:13 2022 +0800
   *
   *     Let gdb get kernel module symbols info from crash
   *
   *     Gdb will try to resolve an address to its corresponding symbol name
   *     such as when printing a structure. It works fine for kernel symbols,
   *     because gdb can find them through vmlinux. However as for kernel
   *     modules symbols, crash resolves them by dig into "struct module",
   *     which gdb don't know. As a result, gdb fails to translate a kernel
   *     module address to its symbol name without "mod -s|-S" options. For
   *     example we can reproduce the issue as follows.
   *
   *         crash> timer
   *         ....
   *         4331308176       336  ffff94ea24240860  ffffffffc03762c0  <estimation_timer>
   *         ....
   *         crash> sym 0xffffffffc03762c0
   *         ffffffffc03762c0 (t) estimation_timer [ip_vs]
   *
   *     Before patch:
   *         crash> timer_list ffff94ea24240860
   *         struct timer_list {
   *           ....
   *           function = 0xffffffffc03762c0,
   *           ....
   *         }
   *
   *     After patch:
   *         crash> timer_list ffff94ea24240860
   *         struct timer_list {
   *           ....
   *           function = 0xffffffffc03762c0 <estimation_timer>,
   *           ....
   *         }
   *
   *     In this patch, we add an interface for gdb, when gdb trying to build
   *     kernel module's address symbolic, the info can be get from crash.
   *
   *     Signed-off-by: Tao Liu <ltao@redhat.com>
   *
   * commit 9cbfea67eb4f094d47cd841b73ddbbdbe6b58696
   * Author: Tao Liu <ltao@redhat.com>
   * Date:   Thu Aug 25 14:39:44 2022 +0800
   *
   *     Fix "task -R" by adding end identifier for union in task_struct
   *
   *     Previously, the start and end identifiers for union are "  {\n" and
   *     "  }, \n".  However the end identifier is not always as expected.
   *     "  },\n" can also be the end identifier with gdb-10.2.  As a result,
   *     variable "randomized" is in incorrect state after union, and fails to
   *     identify the later struct members.  For example, we can reproduce the
   *     issue as follows:
   *
   *         crash> task
   *         PID: 847      TASK: ffff94f8038f4000  CPU: 72   COMMAND: "khungtaskd"
   *         struct task_struct {
   *           thread_info = {
   *             flags = 2148024320,
   *             status = 0,
   *             preempt_lazy_count = 0
   *           },
   *           {
   *             <the union>
   *           },
   *           ...
   *           wake_entry = {
   *             next = 0x0
   *           },
   *           ...
   *
   *     Before patch:
   *
   *         crash> task -R wake_entry
   *         PID: 847      TASK: ffff94f8038f4000  CPU: 72   COMMAND: "khungtaskd"
   *
   *     After patch:
   *
   *         crash> task -R wake_entry
   *         PID: 847      TASK: ffff94f8038f4000  CPU: 72   COMMAND: "khungtaskd"
   *           wake_entry = {
   *             next = 0x0
   *           },
   *
   *     Signed-off-by: Tao Liu <ltao@redhat.com>
   *
   * commit f02c8e87fccb1a92fbc025883bc69b6467a4e6c8
   * Author: Huang Shijie <shijie@os.amperecomputing.com>
   * Date:   Mon Aug 22 09:29:32 2022 +0000
   *
   *     arm64: use TCR_EL1_T1SZ to get the correct info if vabits_actual is
   *     missing
   *
   *     After kernel commit 0d9b1ffefabe ("arm64: mm: make vabits_actual a build
   *     time constant if possible"), the vabits_actual is not compiled to kernel
   *     symbols when "VA_BITS > 48" is false.
   *
   *     So the crash will not find the vabits_actual symbol, and it will fail
   *     in the end like this:
   *
   *       # ./crash
   *       ...
   *       WARNING: VA_BITS: calculated: 46  vmcoreinfo: 48
   *       crash: invalid kernel virtual address: ffff88177ffff000  type: "pud page"
   *
   *     This patch introduces the arm64_set_va_bits_by_tcr(), and if crash
   *     cannot find vabits_actual symbol, it will use the TCR_EL1_T1SZ
   *     register to get the correct VA_BITS_ACTUAL/VA_BITS/VA_START.
   *
   *     Tested this patch with:
   *       1.) the live mode with /proc/kcore
   *       2.) the kdump file with /proc/vmcore.
   *
   *     Signed-off-by: Huang Shijie <shijie@os.amperecomputing.com>
   *
   * commit 4c85e982d25a259f81b5e8c230a67d40d4527ddf
   * Author: Lianbo Jiang <lijiang@redhat.com>
   * Date:   Wed Aug 24 10:19:20 2022 +0800
   *
   *     gdb: fix for assigning NULL to std::string
   *
   *     When trying to load a module with "mod -s" without its separated debug
   *     info file installed, the crash utility will abort as below:
   *
   *       crash> mod -s kpatch_test kpatch_test.ko
   *       ...
   *       terminate called after throwing an instance of 'std::logic_error'
   *         what():  basic_string::_M_construct null not valid
   *       Aborted (core dumped)
   *
   *     Let's return the std::string() instead of std::string(NULL) when a
   *     string is null, because the check_specified_kernel_debug_file() may
   *     return NULL.
   *
   *     Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
   *
   * commit c2743ad474529951ace2b8ec712bf373f3a07d4c
   * Author: Kazuhito Hagio <k-hagio-ab@nec.com>
   * Date:   Mon Aug 22 11:59:46 2022 +0900
   *
   *     Makefile: Fix unnecessary re-patching with coreutils-9.0
   *
   *     "sum" command in coreutils-9.0 (e.g. Fedora 36) started to output a file
   *     name.  As a result, "make" always detects a change of gdb-10.2.patch
   *     wrongly and re-applies it unnecessarily.
   *
   *     Use standard input to fix it and "md5sum" to improve detection.
   *
   *     Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *
   * commit 763e221388219b07bd949a9ba48768856908ec6d
   * Author: Lianbo Jiang <lijiang@redhat.com>
   * Date:   Thu Jul 28 15:11:20 2022 +0800
   *
   *     x86_64: Fix for AMD SME issue
   *
   *     Kernel commit changes(see [1]/[2]) may cause the failure of
   *     crash-utility with the following error:
   *
   *       #./crash /home/vmlinux /home/vmcore
   *       ...
   *       For help, type "help".
   *       Type "apropos word" to search for commands related to "word"...
   *
   *       crash: seek error: physical address: 8000760a14000  type: "p4d page"
   *
   *     Let's get the "NUMBER(sme_mask)" from vmcoreinfo, and try to remove
   *     the C-bit from the page table entries, the intention is to get the
   *     true physical address.
   *
   *     Related kernel commits:
   *     [1] aad983913d77 ("x86/mm/encrypt: Simplify sme_populate_pgd() and sme_populate_pgd_large()")
   *     [2] e7d445ab26db ("x86/sme: Use #define USE_EARLY_PGTABLE_L5 in mem_encrypt_identity.c")
   *
   *     Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
   *
   * commit f37df7df8a50519d80f04fb48499287892021575
   * Author: Kazuhito Hagio <k-hagio-ab@nec.com>
   * Date:   Fri Jul 22 13:44:50 2022 +0900
   *
   *     Fix gcc-11 compiler warning on kvmdump.c
   *
   *     Without the patch, the following gcc-11 compiler warning is emitted for
   *     kvmdump.c:
   *
   *     In function 'write_mapfile_registers',
   *         inlined from 'write_mapfile_trailer' at kvmdump.c:947:3,
   *         inlined from 'kvmdump_init' at kvmdump.c:145:4:
   *     kvmdump.c:972:13: warning: 'write' reading 8 bytes from a region of size 4 [-Wstringop-overread]
   *       972 |         if (write(kvm->mapfd, &kvm->cpu_devices, sizeof(uint64_t)) != sizeof(uint64_t))
   *           |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   *     In file included from kvmdump.c:19:
   *     kvmdump.c: In function 'kvmdump_init':
   *     kvmdump.h:67:18: note: source object 'cpu_devices' of size 4
   *        67 |         uint32_t cpu_devices;
   *           |                  ^~~~~~~~~~~
   *     In file included from defs.h:26,
   *                      from kvmdump.c:18:
   *     /usr/include/unistd.h:378:16: note: in a call to function 'write' declared with attribute 'access (read_only, 2, 3)'
   *       378 | extern ssize_t write (int __fd, const void *__buf, size_t __n) __wur
   *           |                ^~~~~
   *
   *     Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *
   * commit 7591e3c07cef4900f6b0ca797270cb7527fb4e29
   * Author: Kazuhito Hagio <k-hagio-ab@nec.com>
   * Date:   Fri Jul 22 13:44:50 2022 +0900
   *
   *     Fix gcc-11 compiler warning on makedumpfile.c
   *
   *     Without the patch, the following gcc-11 compiler warning is emitted for
   *     makedumpfile.c:
   *
   *     In function 'flattened_format_get_osrelease',
   *         inlined from 'check_flattened_format' at makedumpfile.c:236:3:
   *     makedumpfile.c:392:9: warning: 'fclose' called on pointer returned from a mismatched allocation function [-Wmismatched-dealloc]
   *       392 |         fclose(pipe);
   *           |         ^~~~~~~~~~~~
   *     makedumpfile.c: In function 'check_flattened_format':
   *     makedumpfile.c:380:21: note: returned from 'popen'
   *       380 |         if ((pipe = popen(buf, "r")) == NULL)
   *           |                     ^~~~~~~~~~~~~~~
   *
   *     Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *
   * commit b9c0ed124e422b7e0b1526afa3a691ad0579607b
   * Author: Kazuhito Hagio <k-hagio-ab@nec.com>
   * Date:   Fri Jul 22 13:44:50 2022 +0900
   *
   *     Fix gcc-11 compiler warning on symbols.c
   *
   *     Without the patch, the following gcc-11 compiler warning is emitted for
   *     symbols.c:
   *
   *     symbols.c: In function 'cmd_p':
   *     symbols.c:7412:38: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
   *      7412 |                         *(cpuspec-1) = ':';
   *           |                         ~~~~~~~~~~~~~^~~~~
   *
   *     Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *
   * commit f374aca364b7e8809f122678aefed1010e3c94bd
   * Author: Kazuhito Hagio <k-hagio-ab@nec.com>
   * Date:   Fri Jul 22 13:44:50 2022 +0900
   *
   *     Fix gcc-11 compiler warnings on filesys.c
   *
   *     Without the patch, the following gcc-11 compiler warnings are emitted
   *     for filesys.c:
   *
   *     filesys.c: In function 'mount_point':
   *     filesys.c:718:17: warning: 'pclose' called on pointer returned from a mismatched allocation function [-Wmismatched-dealloc]
   *       718 |                 pclose(mp);
   *           |                 ^~~~~~~~~~
   *     filesys.c:709:27: note: returned from 'fopen'
   *       709 |                 if ((mp = fopen(mntfile, "r")) == NULL)
   *           |                           ^~~~~~~~~~~~~~~~~~~
   *     filesys.c:738:17: warning: 'pclose' called on pointer returned from a mismatched allocation function [-Wmismatched-dealloc]
   *       738 |                 pclose(mp);
   *           |                 ^~~~~~~~~~
   *     filesys.c:723:27: note: returned from 'fopen'
   *       723 |                 if ((mp = fopen(mntfile, "r")) == NULL)
   *           |                           ^~~~~~~~~~~~~~~~~~~
   *
   *     Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *
   * commit 6722ea102264b54529afc19d347a3a7473670fdd
   * Author: Qianli Zhao <qianli.zhao@horizon.ai>
   * Date:   Mon Jul 4 16:40:01 2022 +0800
   *
   *     arm64: Fix for st->_stext_vmlinux not initialized when set VA_BITS_ACTUAL
   *
   *     Setting st->_stext_vmlinux to UNINITIALIZED to search for "_stext"
   *     from the vmlinux.  In the scenario where kaslr is disabled and
   *     without vmcoreinfo, crash will get the wrong MODULES/VMALLOC ranges
   *     and cause a failure in parsing a raw RAM dumpfile.
   *
   *     Signed-off-by: Qianli Zhao <qianli.zhao@horizon.ai>
   *
   * commit 93b880217de239268315be942c10dfce5649db8b
   * Author: Hari Bathini <hbathini@linux.ibm.com>
   * Date:   Mon Jul 4 10:55:46 2022 +0530
   *
   *     ppc64: use a variable for machdep->machspec
   *
   *     machdpep->machspec is referred to multiple times. The compiler would
   *     likely optimize this but nonetheless, use a variable to optimize in
   *     coding and also improve readability. No functional change.
   *
   *     Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
   *
   * commit 4dc2f1c32d1c99586e67032c9cd62c5c4334049c
   * Author: Hari Bathini <hbathini@linux.ibm.com>
   * Date:   Mon Jul 4 10:55:45 2022 +0530
   *
   *     ppc64: print emergency stacks info with 'mach' command
   *
   *     Print top address of emergency stacks with 'mach' command.
   *
   *     Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
   *
   * commit cdd57e8b16aba2f5714673368d6dbc7565d59841
   * Author: Hari Bathini <hbathini@linux.ibm.com>
   * Date:   Mon Jul 4 10:55:44 2022 +0530
   *
   *     ppc64: handle backtrace when CPU is in an emergency stack
   *
   *     A CPU could be in an emergency stack when it is running in real mode
   *     or any special scenario like TM bad thing. Also, there are dedicated
   *     emergency stacks for machine check and system reset interrupt. Right
   *     now, no backtrace is provided if a CPU is in any of these stacks.
   *     This change ensures backtrace is processed appropriately even when
   *     a CPU is in any one of these emergency stacks. Also, if stack info
   *     cannot be found, print that message always instead of only when
   *     verbose logs are enabled.
   *
   *     Related kernel commits:
   *     729b0f715371 ("powerpc/book3s: Introduce exclusive emergency stack for machine check exception.")
   *     b1ee8a3de579 ("powerpc/64s: Dedicated system reset interrupt stack")
   *
   *     Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
   *
   * commit 4d1b968abb286ea39ea080ae073b0e2b5bfe6c4e
   * Author: Hari Bathini <hbathini@linux.ibm.com>
   * Date:   Mon Jul 4 10:55:43 2022 +0530
   *
   *     ppc64: rename ppc64_paca_init to ppc64_paca_percpu_offset_init
   *
   *     ppc64_paca_init() function is specifically used to initialize percpu
   *     data_offset for kernels older than v2.6.36. So, the name is slightly
   *     misleading. Rename it to ppc64_paca_percpu_offset_init to reflect its
   *     purpose.
   *
   *     Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
   *
   * commit 3ee5956721d9a67fe8d4c6d5022aa022c5f9a11c
   * Author: Hari Bathini <hbathini@linux.ibm.com>
   * Date:   Mon Jul 4 10:55:42 2022 +0530
   *
   *     ppc64: dynamically allocate h/w interrupt stack
   *
   *     Only older kernel (v2.4) used h/w interrupt stack to store frames when
   *     CPU received IPI. Memory used for this in 'struct machine_specific' is
   *     useless for later kernels. For the sake of backward compatibility keep
   *     h/w interrupt stack but dynamically allocate memory for it and save
   *     some bytes from being wasted.
   *
   *     Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
   *
   * commit c67ce5bbb8e37d28f1c26b239b203a6561f574c1
   * Author: Hari Bathini <hbathini@linux.ibm.com>
   * Date:   Mon Jul 4 10:55:41 2022 +0530
   *
   *     ppc64: fix bt for '-S' case
   *
   *     Passing '-S' option to 'bt' command was intended to specify the stack
   *     pointer manually. But get_stack_frame() handling on ppc64 is ignoring
   *     this option altogether. Fix it.
   *
   *     Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
   *
   * commit d8869b08548362345fc34e4cf17a1eac9bddec6b
   * Author: Kazuhito Hagio <k-hagio-ab@nec.com>
   * Date:   Wed Jun 22 08:32:59 2022 +0900
   *
   *     Extend field length of task attributes
   *
   *     Nowadays, some machines have many CPU cores and memory, and some
   *     distributions have a larger kernel.pid_max parameter, e.g. 7 digits.
   *     This impairs the readability of a few commands, especially "ps" and
   *     "ps -l|-m" options.
   *
   *     Let's extend the field length of the task attributes, PID, CPU, VSZ,
   *     and RSS to improve the readability.
   *
   *     Without the patch:
   *       crash> ps
   *          PID    PPID  CPU       TASK        ST  %MEM     VSZ    RSS  COMM
   *       ...
   *         2802197  2699997   2  ffff916f63c40000  IN   0.0  307212  10688  timer
   *         2802277      1   0  ffff9161a25bb080  IN   0.0  169040   2744  gpg-agent
   *         2806711  3167854  10  ffff9167fc498000  IN   0.0  127208   6508  su
   *         2806719  2806711   1  ffff91633c3a48c0  IN   0.0   29452   6416  bash
   *         2988346      1   5  ffff916f7c629840  IN   2.8 9342476 1917384  qemu-kvm
   *
   *     With the patch:
   *       crash> ps
   *             PID    PPID  CPU       TASK        ST  %MEM      VSZ      RSS  COMM
   *       ...
   *         2802197 2699997   2  ffff916f63c40000  IN   0.0   307212    10688  timer
   *         2802277       1   0  ffff9161a25bb080  IN   0.0   169040     2744  gpg-agent
   *         2806711 3167854  10  ffff9167fc498000  IN   0.0   127208     6508  su
   *         2806719 2806711   1  ffff91633c3a48c0  IN   0.0    29452     6416  bash
   *         2988346       1   5  ffff916f7c629840  IN   2.8  9342476  1917384  qemu-kvm
   *
   *     Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *
   * commit 85f39061390f095e73d9037f015cec077441eb13
   * Author: Kazuhito Hagio <k-hagio-ab@nec.com>
   * Date:   Wed Jun 15 10:50:13 2022 +0900
   *
   *     Fix for "dev" command on Linux 5.11 and later
   *
   *     The following kernel commits eventually removed the bdev_map array in
   *     Linux v5.11 kernel:
   *
   *       e418de3abcda ("block: switch gendisk lookup to a simple xarray")
   *       22ae8ce8b892 ("block: simplify bdev/disk lookup in blkdev_get")
   *
   *     Without the patch, the "dev" command fails to dump block device data
   *     with the following error:
   *
   *       crash> dev
   *       ...
   *       dev: blkdevs or all_bdevs: symbols do not exist
   *
   *     To get block device's gendisk, search blockdev_superblock.s_inodes
   *     instead of bdev_map.
   *
   *     Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *
   * commit b8f2ae6b494d706b1e4855b439c4930a6a6a2f5c
   * Author: Kazuhito Hagio <k-hagio-ab@nec.com>
   * Date:   Fri Jun 10 16:00:14 2022 +0900
   *
   *     sbitmapq: Limit kernels without sbitmap again
   *
   *     commit 364b2e413c69 ("sbitmapq: remove struct and member validation
   *     in sbitmapq_init()") allowed the use of the "sbitmapq" command
   *     unconditionally.  Without the patch, the command fails with the
   *     following error on kernels without sbitmap:
   *
   *       crash> sbitmapq ffff88015796e550
   *
   *       sbitmapq: invalid structure member offset: sbitmap_queue_sb
   *                 FILE: sbitmap.c  LINE: 385  FUNCTION: sbitmap_queue_context_load()
   *
   *     Now the command supports Linux 4.9 and later kernels since it was
   *     abstracted out, so it can be limited by the non-existence of the
   *     sbitmap structure.
   *
   *     Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *
   * commit 6bc3b74c6e2b0aaebe1bc164594e53b010efef56
   * Author: Kazuhito Hagio <k-hagio-ab@nec.com>
   * Date:   Fri Jun 10 15:52:34 2022 +0900
   *
   *     sbitmapq: Fix for kernels without struct wait_queue_head
   *
   *     The current struct wait_queue_head was renamed by kernel commit
   *     9d9d676f595b ("sched/wait: Standardize internal naming of wait-queue heads")
   *     at Linux 4.13.  Without the patch, on earlier kernels the "sbitmapq"
   *     command fails with the following error:
   *
   *       crash> sbitmapq ffff8801790b3b50
   *       depth = 128
   *       busy = 0
   *       bits_per_word = 32
   *       ...
   *       sbitmapq: invalid structure member offset: wait_queue_head_head
   *                 FILE: sbitmap.c  LINE: 344  FUNCTION: sbitmap_queue_show()
   *
   *     Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *
   * commit c07068266b41450ca6821ee0a1a3adf34206015f
   * Author: Kazuhito Hagio <k-hagio-ab@nec.com>
   * Date:   Fri Jun 10 15:21:53 2022 +0900
   *
   *     Make "dev -d|-D" options parse sbitmap on Linux 4.18 and later
   *
   *     There have been a few reports that the "dev -d|-D" options displayed
   *     incorrect I/O stats due to racy blk_mq_ctx.rq_* counters.  To fix it,
   *     make the options parse sbitmap to count I/O stats on Linux 4.18 and
   *     later kernels, which include RHEL8 ones.
   *
   *     To do this, adjust to the blk_mq_tags structure of Linux 5.10 through
   *     5.15 kernels, which contain kernel commit 222a5ae03cdd ("blk-mq: Use
   *     pointers for blk_mq_tags bitmap tags") and do not contain ae0f1a732f4a
   *     ("blk-mq: Stop using pointers for blk_mq_tags bitmap tags").
   *
   *     Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *
   * commit 12fe6c7cdd768f87ce6e903a2bbfb0c0591585c5
   * Author: Kazuhito Hagio <k-hagio-ab@nec.com>
   * Date:   Fri Jun 10 11:49:47 2022 +0900
   *
   *     sbitmapq: Fix for sbitmap_queue without min_shallow_depth member
   *
   *     The sbitmap_queue.min_shallow_depth member was added by kernel commit
   *     a327553965de ("sbitmap: fix missed wakeups caused by sbitmap_queue_get_shallow()")
   *     at Linux 4.18.  Without the patch, on earlier kernels the "sbitmapq"
   *     command fails with the following error:
   *
   *       crash> sbitmapq ffff89bb7638ee50
   *
   *       sbitmapq: invalid structure member offset: sbitmap_queue_min_shallow_depth
   *                 FILE: sbitmap.c  LINE: 398  FUNCTION: sbitmap_queue_context_load()
   *
   *     Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *
   * commit 0d3e86fee5eead93b521a0e20a0e099ede4ab72b
   * Author: Kazuhito Hagio <k-hagio-ab@nec.com>
   * Date:   Fri Jun 10 11:49:47 2022 +0900
   *
   *     sbitmapq: Fix for sbitmap_word without cleared member
   *
   *     The sbitmap_word.cleared member was added by kernel commit ea86ea2cdced
   *     ("sbitmap: ammortize cost of clearing bits") at Linux 5.0.  Without the
   *     patch, on earlier kernels the "sbitmapq" command fails with the
   *     following error:
   *
   *       crash> sbitmapq ffff8f1a3611cf10
   *
   *       sbitmapq: invalid structure member offset: sbitmap_word_cleared
   *                 FILE: sbitmap.c  LINE: 92  FUNCTION: __sbitmap_weight()
   *
   *     Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *
   * commit 9ce31a14d1083cbb2beb4a8e6eb7b88234b79a99
   * Author: Kazuhito Hagio <k-hagio-ab@nec.com>
   * Date:   Fri Jun 10 11:49:47 2022 +0900
   *
   *     sbitmapq: Fix for sbitmap_queue without ws_active member
   *
   *     The sbitmap_queue.ws_active member was added by kernel commit 5d2ee7122c73
   *     ("sbitmap: optimize wakeup check") at Linux 5.0.  Without the patch, on
   *     earlier kernels the "sbitmapq" command fails with the following error:
   *
   *       crash> sbitmapq ffff8f1a3611cf10
   *
   *       sbitmapq: invalid structure member offset: sbitmap_queue_ws_active
   *                 FILE: sbitmap.c  LINE: 393  FUNCTION: sbitmap_queue_context_load()
   *
   *     Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *
   * commit c672d7a4c290712b32c54329cbdc1e74d122e813
   * Author: Lianbo Jiang <lijiang@redhat.com>
   * Date:   Mon Jun 6 19:09:16 2022 +0800
   *
   *     Doc: update man page for the "bpf" and "sbitmapq" commands
   *
   *     The information of the "bpf" and "sbitmapq" commands is missing in the man
   *     page of the crash utility.  Let's add it to the man page.
   *
   *     Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
   *
   * commit 68ce0b9a35d77d767872dd1a729c50e4695a30a8
   * Author: Lianbo Jiang <lijiang@redhat.com>
   * Date:   Thu Jun 2 20:12:56 2022 +0800
   *
   *     Fix for "dev -d|-D" options to support blk-mq change on Linux v5.18-rc1
   *
   *     Kernel commit 4e5cc99e1e48 ("blk-mq: manage hctx map via xarray") removed
   *     the "queue_hw_ctx" member from struct request_queue at Linux v5.18-rc1,
   *     and replaced it with a struct xarray "hctx_table". Without the patch, the
   *     "dev -d|-D" options will print an error:
   *
   *       crash> dev -d
   *       MAJOR GENDISK            NAME       REQUEST_QUEUE      TOTAL  READ WRITE
   *
   *       dev: invalid structure member offset: request_queue_queue_hw_ctx
   *
   *     With the patch:
   *       crash> dev -d
   *       MAJOR GENDISK            NAME       REQUEST_QUEUE      TOTAL  READ WRITE
   *           8 ffff8e99d0a1ae00   sda        ffff8e9c14c59980      10     6     4
   *
   *     Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
   *
   * commit 7095c8fd029e3a33117e3b67de73f504686ebfe2
   * Author: Lianbo Jiang <lijiang@redhat.com>
   * Date:   Thu Jun 2 20:12:55 2022 +0800
   *
   *     Enhance "dev -d|-D" options to support blk-mq sbitmap
   *
   *     Since Linux 5.16-rc1, which kernel commit 9a14d6ce4135 ("block: remove
   *     debugfs blk_mq_ctx dispatched/merged/completed attributes") removed the
   *     members from struct blk_mq_ctx, crash has not displayed disk I/O statistics
   *     for multiqueue (blk-mq) devices.
   *
   *     Let's parse the sbitmap in blk-mq layer to support it.
   *
   *     Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
   *     Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *
   * commit dda5b2d02b8d8de1264f84b6267582aa7a1e5a57
   * Author: Kazuhito Hagio <k-hagio-ab@nec.com>
   * Date:   Tue May 31 17:12:16 2022 +0900
   *
   *     gdb: print details of unnamed struct and union
   *
   *     Currently gdb's "ptype" command does not print the details of unnamed
   *     structure and union deeper than second level in a structure, it prints
   *     only "{...}" instead.  And crash's "struct" and similar commands also
   *     inherit this behavior, so we cannot get the full information of them.
   *
   *     To print the details of them, change the show variable when it is an
   *     unnamed one like crash-7.x.
   *
   *     Without the patch:
   *        crash> struct -o page
   *        struct page {
   *           [0] unsigned long flags;
   *               union {
   *                   struct {...};
   *                   struct {...};
   *        ...
   *
   *     With the patch:
   *        crash> struct -o page
   *        struct page {
   *           [0] unsigned long flags;
   *               union {
   *                   struct {
   *           [8]         struct list_head lru;
   *          [24]         struct address_space *mapping;
   *          [32]         unsigned long index;
   *          [40]         unsigned long private;
   *                   };
   *                   struct {
   *           [8]         dma_addr_t dma_addr;
   *                   };
   *        ...
   *
   *     Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *
   * commit 0f162febebc4d11a165dd40cee00f3b0ba691a52
   * Author: Qi Zheng <zhengqi.arch@bytedance.com>
   * Date:   Tue May 24 20:25:54 2022 +0800
   *
   *     bt: arm64: add support for 'bt -n idle'
   *
   *     The '-n idle' option of bt command can help us filter the
   *     stack of the idle process when debugging the dumpfiles
   *     captured by kdump.
   *
   *     This patch supports this feature on ARM64.
   *
   *     Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
   *
   * commit 6833262bf87177d8affe4f91b2e7d2c76ecdf636
   * Author: Qi Zheng <zhengqi.arch@bytedance.com>
   * Date:   Tue May 24 20:25:53 2022 +0800
   *
   *     bt: x86_64: filter out idle task stack
   *
   *     When we use crash to troubleshoot softlockup and other problems,
   *     we often use the 'bt -a' command to print the stacks of running
   *     processes on all CPUs. But now some servers have hundreds of CPUs
   *     (such as AMD machines), which causes the 'bt -a' command to output
   *     a lot of process stacks. And many of these stacks are the stacks
   *     of the idle process, which are not needed by us.
   *
   *     Therefore, in order to reduce this part of the interference information,
   *     this patch adds the -n option to the bt command. When we specify
   *     '-n idle' (meaning no idle), the stack of the idle process will be
   *     filtered out, thus speeding up our troubleshooting.
   *
   *     And the option works only for crash dumps captured by kdump.
   *
   *     The command output is as follows:
   *     crash> bt -a -n idle
   *     [...]
   *     PID: 0      TASK: ffff889ff8c34380  CPU: 8   COMMAND: "swapper/8"
   *
   *     PID: 0      TASK: ffff889ff8c32d00  CPU: 9   COMMAND: "swapper/9"
   *
   *     PID: 0      TASK: ffff889ff8c31680  CPU: 10  COMMAND: "swapper/10"
   *
   *     PID: 0      TASK: ffff889ff8c35a00  CPU: 11  COMMAND: "swapper/11"
   *
   *     PID: 0      TASK: ffff889ff8c3c380  CPU: 12  COMMAND: "swapper/12"
   *
   *     PID: 150773  TASK: ffff889fe85a1680  CPU: 13  COMMAND: "bash"
   *      #0 [ffffc9000d35bcd0] machine_kexec at ffffffff8105a407
   *      #1 [ffffc9000d35bd28] __crash_kexec at ffffffff8113033d
   *      #2 [ffffc9000d35bdf0] panic at ffffffff81081930
   *      #3 [ffffc9000d35be70] sysrq_handle_crash at ffffffff814e38d1
   *      #4 [ffffc9000d35be78] __handle_sysrq.cold.12 at ffffffff814e4175
   *      #5 [ffffc9000d35bea8] write_sysrq_trigger at ffffffff814e404b
   *      #6 [ffffc9000d35beb8] proc_reg_write at ffffffff81330d86
   *      #7 [ffffc9000d35bed0] vfs_write at ffffffff812a72d5
   *      #8 [ffffc9000d35bf00] ksys_write at ffffffff812a7579
   *      #9 [ffffc9000d35bf38] do_syscall_64 at ffffffff81004259
   *         RIP: 00007fa7abcdc274  RSP: 00007fffa731f678  RFLAGS: 00000246
   *         RAX: ffffffffffffffda  RBX: 0000000000000002  RCX: 00007fa7abcdc274
   *         RDX: 0000000000000002  RSI: 0000563ca51ee6d0  RDI: 0000000000000001
   *         RBP: 0000563ca51ee6d0   R8: 000000000000000a   R9: 00007fa7abd6be80
   *         R10: 000000000000000a  R11: 0000000000000246  R12: 00007fa7abdad760
   *         R13: 0000000000000002  R14: 00007fa7abda8760  R15: 0000000000000002
   *         ORIG_RAX: 0000000000000001  CS: 0033  SS: 002b
   *     [...]
   *
   *     Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
   *     Acked-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *     Acked-by: Lianbo Jiang <lijiang@redhat.com>
   *
   * commit 9705669a49c341402efd8528e8fe809379dd798d
   * Author: Kazuhito Hagio <k-hagio-ab@nec.com>
   * Date:   Mon May 23 14:48:50 2022 +0900
   *
   *     Makefile: add missing crash_target.o to be cleaned
   *
   *     Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *
   * commit 3750803f6ae5f5ad071f86ca916dbbb17b7a83a5
   * Author: Lianbo Jiang <lijiang@redhat.com>
   * Date:   Mon May 23 18:04:16 2022 +0800
   *
   *     sbitmapq: fix invalid offset for "sbitmap_word_depth" on Linux v5.18-rc1
   *
   *     Kernel commit 3301bc53358a ("lib/sbitmap: kill 'depth' from
   *     sbitmap_word") removed the depth member from struct sbitmap_word.
   *     Without the patch, the sbitmapq will fail:
   *
   *       crash> sbitmapq 0xffff8e99d0dc8010
   *
   *       sbitmapq: invalid structure member offset: sbitmap_word_depth
   *               FILE: sbitmap.c  LINE: 84  FUNCTION: __sbitmap_weight()
   *
   *     Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
   *
   * commit 530fe6ad7e4d7ff6254596c1219d25ed929e3867
   * Author: Lianbo Jiang <lijiang@redhat.com>
   * Date:   Mon May 23 18:04:15 2022 +0800
   *
   *     sbitmapq: fix invalid offset for "sbitmap_queue_round_robin" on Linux
   *     v5.13-rc1
   *
   *     Kernel commit efe1f3a1d583 ("scsi: sbitmap: Maintain allocation
   *     round_robin in sbitmap") moved the round_robin member from struct
   *     sbitmap_queue to struct sbitmap.  Without the patch, the sbitmapq
   *     will fail:
   *
   *       crash> sbitmapq 0xffff8e99d0dc8010
   *
   *       sbitmapq: invalid structure member offset: sbitmap_queue_round_robin
   *               FILE: sbitmap.c  LINE: 378  FUNCTION:
   *               sbitmap_queue_context_load()
   *
   *     Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
   *
   * commit a295cb40cd5d24fb5995cc78d29c5def3843d285
   * Author: Lianbo Jiang <lijiang@redhat.com>
   * Date:   Mon May 23 18:04:14 2022 +0800
   *
   *     sbitmapq: fix invalid offset for "sbitmap_queue_alloc_hint" on Linux v5.13-rc1
   *
   *     Kernel commit c548e62bcf6a ("scsi: sbitmap: Move allocation hint
   *     into sbitmap") moved the alloc_hint member from struct sbitmap_queue
   *     to struct sbitmap.  Without the patch, the sbitmapq will fail:
   *
   *       crash> sbitmapq 0xffff8e99d0dc8010
   *
   *       sbitmapq: invalid structure member offset: sbitmap_queue_alloc_hint
   *               FILE: sbitmap.c  LINE: 365  FUNCTION: sbitmap_queue_context_load()
   *
   *     Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
   *
   * commit 364b2e413c69daf189d2bc0238e3ba9b0dcbd937
   * Author: Lianbo Jiang <lijiang@redhat.com>
   * Date:   Mon May 23 18:04:13 2022 +0800
   *
   *     sbitmapq: remove struct and member validation in sbitmapq_init()
   *
   *     Let's remove the struct and member validation from sbitmapq_init(), which
   *     will help the crash to display the actual error when the sbitmapq fails.
   *
   *     Without the patch:
   *       crash> sbitmapq ffff8e99d0dc8010
   *       sbitmapq: command not supported or applicable on this architecture or kernel
   *
   *     With the patch:
   *       crash> sbitmapq ffff8e99d0dc8010
   *
   *       sbitmapq: invalid structure member offset: sbitmap_queue_alloc_hint
   *               FILE: sbitmap.c  LINE: 365  FUNCTION: sbitmap_queue_context_load()
   *
   *     Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
   *
   * commit ae52398a13fa9a238279114ed671c7c514c154ee
   * Author: Sourabh Jain <sourabhjain@linux.ibm.com>
   * Date:   Mon May 9 12:49:56 2022 +0530
   *
   *     ppc64: update the NR_CPUS to 8192
   *
   *     Since the kernel commit 2d8ae638bb86 ("powerpc: Make the NR_CPUS max 8192")
   *     the NR_CPUS on Linux kernel ranges from 1-8192. So let's match NR_CPUS with
   *     the max NR_CPUS count on the Linux kernel.
   *
   *     Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>
   *
   * commit 0ca55e460757172879ebc06c1a18c97163711dab
   * Author: Kazuhito Hagio <k-hagio-ab@nec.com>
   * Date:   Tue May 10 10:27:44 2022 +0900
   *
   *     Mark start of 8.0.2 development phase with version 8.0.1++
   *
   *     Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
   *
Checksums-Sha1:
 bdfd277dc16de5bd4f094681a7d15a3f38f89b2a 1951 crash_8.0.2-1.dsc
 d566b6423aa14715de9358c9475fe99b5eabf929 41040114 crash_8.0.2.orig.tar.gz
 dfe3b96d6fe1fa180c9c14830b07c1e79160158b 150092 crash_8.0.2-1.debian.tar.xz
 eb8a0aa81418462295049a1e42f76a9a3d6046c9 6444 crash_8.0.2-1_source.buildinfo
Checksums-Sha256:
 df1813da5ded61db12d5442de5d8bc13dde29a9a525521d5e2d2f8aa5b17e548 1951 crash_8.0.2-1.dsc
 ae3c2daee23b16b1de34b826f0eecfbd610a2b32eeb63a2b8f7c1341e898cf22 41040114 crash_8.0.2.orig.tar.gz
 b7b6a3a24456950b8ced8c0e202bd7f6cd8684a21544fbb6a950acea72475bd4 150092 crash_8.0.2-1.debian.tar.xz
 a69faa29e2d3957a0460d429e3a1ad5e3bbbe79d317033bbc0231366a1a97d8e 6444 crash_8.0.2-1_source.buildinfo
Files:
 5fca057b01d6ff8a2b9912693f812376 1951 utils optional crash_8.0.2-1.dsc
 1b7028e699369ad72ba8b1addcd92720 41040114 utils optional crash_8.0.2.orig.tar.gz
 d35575563a8f042e510a20e98d4152a7 150092 utils optional crash_8.0.2-1.debian.tar.xz
 150ab23bb7f4154d971c18a7e4b23365 6444 utils optional crash_8.0.2-1_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEPdPUPs0+tNeF/HYE23wDYLLLZZcFAmOGh8QACgkQ23wDYLLL
ZZdQ0hAAks4l1PPSIHIyecRWtsA5M4AtaJdkftKKr356sJhqqYlzrp+Q0RsqTmsA
QdPInunHfNNyR+S9T6a9+hTdnO/vChmDsz6NiCfJZBxUzUjjoXohW3zS39Ao8dbM
JViEvT8A5/l9O67M96NQ0ArfrBzoPDjev3tkxM0u6YFretkOEZHyypxuKuaNNtw4
CcMu3guE6iyi/NpRYxUOdkO1Jaw5YIyrHFrN7kAgVwT3B0W9rhGxqGIzTCgAfmXj
UbbzZ6Mh/3O8SvPifTH+uuzi2tDbIt3A2fpgD575cyjQcr3ce56wPtJt8RZY9xS/
QbjHkRJUH9U3lKl5nKO4MfWrRWkQdycYU/VLwbVgVR0TGx45mIhon11Q6LProkJ3
hbX28/FJRb2Rtox7vNES2RYu87s/Ylqyosa0HgfFt2DYVD0riJ+FSTIr+dEtz3Yb
yLfnYvwPmmrKJtKSHSNesqOggj1UFE9vZvwpf9qSP1WDs8qbV43iK6l6Bqg+Wpa2
tIn9bTpu5xtH6uG09A8I2SnMG2qrcNnlMpqf3tZSUO6VeCpHb4b+t4IB7MQn9/Vf
cxLmD/Zu81pu4MtQdaptf1sBql16+bZfpAe4nEknXipZ70xcpOZVsNZjaqrRL/dd
qCQBR68esxTe9W6h1OjkVo1m4EK65gqF6R7eYkYE6rZuDZMeZws=
=Zpkl
-----END PGP SIGNATURE-----