I was able to make the xenial version of crash to work with both the
linux-generic and linux-azure kernels applying the following upstream
changes:

Commit: 7e0cb8b516788c7ba1ef9f32556df347ba0da187
Fix for Linux commit 0100301bfdf56a2a370c7157b5ab0fbf9313e1cd, which rewrote 
the X86_64 switch_to() code by embedding the __switch_to() call inside a new 
__switch_to_asm() assembly code ENTRY() function. Without the patch, the 
message "crash: cannot determine thread return address" gets displayed during 
initialization, and the "bt" command shows frame #0 starting at "schedule" 
instead of "__schedule". (ander...@redhat.com)
Commit: 63f7707d2b534bab2a18c52db41daae7e9c5e505
Fix for the "ps -t" option in 3.17 and later kernels that contain commit 
ccbf62d8a284cf181ac28c8e8407dd077d90dd4b, which changed the 
task_struct.start_time member from a struct timespec to a u64. Without the 
patch, the "RUN TIME" value is nonsensical. (ander...@redhat.com)

Commit: c1eb2b99e2d9201583aac5a664126d83039bddff
Fix for the "irq -s" option for Linux 4.2 and later kernels.  Without the 
patch, the irq_chip.name string (e.g. "IO-APIC", "PCI-MSI", etc.) is missing 
from the display. (rabin.vinc...@axis.com)

Commit: 76a71fed90c6304110dbce61d6c833543f2f1ac8
Improvement of the accuracy of the allocated objects count for each kmem_cache 
shown by "kmem -s" in kernels configured with CONFIG_SLUB. Without the patch, 
the values under the ALLOCATED column may be too large because cached per-cpu 
objects are counted as allocated. (vinayakm.l...@gmail.com)

Commit: 569002249b1d57162a1e94f529d295828d4e0253
When reading a task's task_struct.flags field, check for its size, which was 
changed from an unsigned long to an unsigned int. (dave.kleik...@oracle.com)

Commit: 10192898cf59b7b4bb102ef39c72ab65bd401471
Fix for Linux 4.8-rc1 commit 500462a9de657f86edaa102f8ab6bff7f7e43fc2, in which 
Thomas Gleixner redesigned the kernel timer mechanism to switch to a 
non-cascading wheel.  Without the patch, the "timer" command fails with the 
message "timer: zero-size memory allocation! (called from <address>)" 
(ander...@redhat.com)

Commit: df08978f31ba39e94b3096804f4e0776373c8b53
Improvement of the "dev -d" option to display I/O statics for disks whose 
device driver uses the blk-mq interface.  Currently "dev -d" always displays 0 
in all fields for the blk-mq disk because blk-mq does not increment/decrement 
request_list.count[2] on I/O creation and I/O completion.  The following values 
are used in blk-mq in such situations:   - I/O creation:   
blk_mq_ctx.rq_dispatched[2]   - I/O completion: blk_mq_ctx.rq_completed[2] So, 
we can get the counter of in-progress I/Os as follows:   in progress I/Os == 
rq_dispatched - rq_completed This patch displays the result of above 
calculation for the disk. It determines whether the device driver uses blk-mq 
if the request_queue.mq_ops is not NULL.  The "DRV" field is displayed as 
"N/A(MQ)" if the value for in-flight in the device driver does not exist for 
blk-mq. (m.miz...@jp.fujitsu.com)

Commit: db552975315fec06a957c937803935d8fbddfd2d
Introduction of a new "bt -v" option that checks the kernel stack of all tasks 
for evidence of stack overflows.  It does so by verifying the thread_info.task 
address, ensuring the thread_info.cpu value is a valid cpu number, and checking 
the end of the stack for the STACK_END_MAGIC value. (ander...@redhat.com)

Commit: c9f932440bd06f0a3d6d3ecc30d5c670021d5e5a
Fix for Linux 4.9-rc1 commits 15f4eae70d365bba26854c90b6002aaabb18c8aa and 
c65eacbe290b8141554c71b2c94489e73ade8c8d, which have introduced a new 
CONFIG_THREAD_INFO_IN_TASK configuration.  This configuration moves each task's 
thread_info structure from the base of its kernel stack into its task_struct.  
Without the patch, the crash session fails during initialization with the error 
"crash: invalid structure member offset: thread_info_cpu". (ander...@redhat.com)

Commit: 24a696228c56fd4354d29abe05b206373e0c8bfb
Fix for Linux 4.10 commit 7fd8329ba502ef76dd91db561c7aed696b2c7720 
"taint/module: Clean up global and module taint flags handling". Without the 
patch, when running against Linux 4.10-rc1 and later kernels, the crash utility 
fails during session initialization with the message "crash: invalid structure 
size: tnt". (pan...@redhat.com)

Commit: e37dd7852f590e3334420e5b41a833085ab1d0b0
Prepare for the kernel's "taint_flag.true" and "taint_flag.false" member names 
to be changed to "c_true" and "c_false", which fixes build problems when an 
out-of-tree module defines "true" or "false". (ander...@redhat.com)

Commit: 651c824ffe2fd7eb8e416dbf4ff5c9a1da6ef7c6
Prevent the livepatch taint flag check during the system banner display from 
generating a fatal session-killing error if relevant kernel symbol names or 
data structures change in the future (again). (ander...@redhat.com)

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to kexec-tools in Ubuntu.
https://bugs.launchpad.net/bugs/1712867

Title:
  [Hyper-V] 16.04 kexec-tools doesn't match linux-azure

Status in crash package in Ubuntu:
  In Progress
Status in kexec-tools package in Ubuntu:
  In Progress
Status in linux-azure package in Ubuntu:
  In Progress
Status in kexec-tools source package in Xenial:
  In Progress
Status in linux-azure source package in Xenial:
  In Progress

Bug description:
  Because the linux-azure kernel is based on 4.11, kexec on 16.04 gives the 
following error:
  kdump-tools[1436]: ELF core (kcore) parse failed

  Perhaps the artful kexec-tools should be backported?

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/crash/+bug/1712867/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to