** Description changed:
[Impact]
+
+ The kernel crashdumps generated by makedumpfile on kernel 6.2
+ (affects Lunar, and Jammy with the HWE kernel) might not open
+ on crash, due to kernel changes not reflected in makedumpfile.
+
The Kernel commit 130d4df57390 ("mm/sl[au]b: rearrange struct slab fields to
allow larger rcu_head"), included in Linux 6.2-rc1 and later versions,
introduced a change that aligns the offset of slab.slabs with that of
page.mapping.
However, this modification unintentionally causes the makedumpfile command
with the -d 8 option, meant to exclude user data, to incorrectly exclude
certain slab pages.
Consequently, when utilizing dumpfiles generated in this manner, the "crash"
utility may encounter an error when attempting to initiate a session:
crash: page excluded: kernel virtual address: ffff0000e269d428 type:
"xa_node shift"
[Fix]
+
An upstream fix is available.
==========
commit 5f17bdd2128998a3eeeb4521d136a192222fadb6
Author: Kazuhito Hagio <[email protected]>
Date: Wed Dec 21 11:06:39 2022 +0900
- [PATCH] Fix wrong exclusion of slab pages on Linux 6.2-rc1
+ [PATCH] Fix wrong exclusion of slab pages on Linux 6.2-rc1
==========
[Test Plan]
+
1. Install the required packages and then proceed to reboot the machine.
# sudo apt install crash linux-crashdump -y
# reboot
+
2. To check the status of kdump, use the `kdump-config show` command.
# kdump-config show
DUMP_MODE: kdump
USE_KDUMP: 1
KDUMP_COREDIR: /var/crash
crashkernel addr: 0x64000000
- /var/lib/kdump/vmlinuz: symbolic link to /boot/vmlinuz-6.2.0-33-generic
- kdump initrd:
- /var/lib/kdump/initrd.img: symbolic link to
/var/lib/kdump/initrd.img-6.2.0-33-generic
+ /var/lib/kdump/vmlinuz: symbolic link to /boot/vmlinuz-6.2.0-33-generic
+ kdump initrd:
+ /var/lib/kdump/initrd.img: symbolic link to
/var/lib/kdump/initrd.img-6.2.0-33-generic
current state: ready to kdump
kexec command:
- /sbin/kexec -p --command-line="BOOT_IMAGE=/boot/vmlinuz-6.2.0-33-generic
root=UUID=3e72f5d5-870b-4b8e-9a0d-8ba920391379 ro console=tty1 console=ttyS0
reset_devices systemd.unit=kdump-tools-dump.service nr_cpus=1 irqpoll
usbcore.nousb" --initrd=/var/lib/kdump/initrd.img /var/lib/kdump/vmlinuz
+ /sbin/kexec -p --command-line="BOOT_IMAGE=/boot/vmlinuz-6.2.0-33-generic
root=UUID=3e72f5d5-870b-4b8e-9a0d-8ba920391379 ro console=tty1 console=ttyS0
reset_devices systemd.unit=kdump-tools-dump.service nr_cpus=1 irqpoll
usbcore.nousb" --initrd=/var/lib/kdump/initrd.img /var/lib/kdump/vmlinuz
+
3. To trigger a crash dump forcefully, execute the `echo c | sudo tee
/proc/sysrq-trigger` command.
4. Download the kernel .ddeb file, which will be used for analyzing the dump
file.
# sudo -i
# cd /var/crash
# pull-lp-ddebs linux-image-unsigned-$(uname -r)
# dpkg-deb -x linux-image-unsigned-$(uname -r)-*.ddeb dbgsym-$(uname -r)
5. Utilize the "crash" utility to parse and analyze the dump file.
# crash dbgsym-$(uname -r)/usr/lib/debug/boot/vmlinux-$(uname -r)
XXXX/dump.XXXX
- crash 8.0.3++
- Copyright (C) 2002-2022 Red Hat, Inc.
- Copyright (C) 2004, 2005, 2006, 2010 IBM Corporation
- Copyright (C) 1999-2006 Hewlett-Packard Co
- Copyright (C) 2005, 2006, 2011, 2012 Fujitsu Limited
- Copyright (C) 2006, 2007 VA Linux Systems Japan K.K.
- Copyright (C) 2005, 2011, 2020-2022 NEC Corporation
- Copyright (C) 1999, 2002, 2007 Silicon Graphics, Inc.
- Copyright (C) 1999, 2000, 2001, 2002 Mission Critical Linux, Inc.
- Copyright (C) 2015, 2021 VMware, Inc.
- This program is free software, covered by the GNU General Public License,
- and you are welcome to change it and/or distribute copies of it under
- certain conditions. Enter "help copying" to see the conditions.
- This program has absolutely no warranty. Enter "help warranty" for details.
-
- GNU gdb (GDB) 10.2
- Copyright (C) 2021 Free Software Foundation, Inc.
- License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
- This is free software: you are free to change and redistribute it.
- There is NO WARRANTY, to the extent permitted by law.
- Type "show copying" and "show warranty" for details.
- This GDB was configured as "aarch64-unknown-linux-gnu".
- Type "show configuration" for configuration details.
- Find the GDB manual and other documentation resources online at:
- <http://www.gnu.org/software/gdb/documentation/>.
-
- For help, type "help".
- Type "apropos word" to search for commands related to "word"...
-
- please wait... (gathering task table data)
+ ...
+ please wait... (gathering task table data)
crash: page excluded: kernel virtual address: ffff0000e269d428 type:
"xa_node shift"
[Where problems could occur]
+
The patch has altered the method for excluding slab pages, aligning with the
structural changes introduced in Linux 6.2-rc1.
This modification is essential for Linux kernel 6.2.
However, it's crucial to note that this change may impact the content of the
dump file, potentially leading to a situation where the "crash" utility is
unable to parse it in the worst-case scenario.
** Patch added: "lp2038248-makedumpfile-jammy.debdiff"
https://bugs.launchpad.net/ubuntu/+source/makedumpfile/+bug/2038248/+attachment/5708297/+files/lp2038248-makedumpfile-jammy.debdiff
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to makedumpfile in Ubuntu.
https://bugs.launchpad.net/bugs/2038248
Title:
Slab page exclusion issue on Linux 6.2-rc1
Status in makedumpfile package in Ubuntu:
Fix Released
Status in makedumpfile source package in Jammy:
Confirmed
Status in makedumpfile source package in Lunar:
In Progress
Bug description:
[Impact]
The kernel crashdumps generated by makedumpfile on kernel 6.2
(affects Lunar, and Jammy with the HWE kernel) might not open
on crash, due to kernel changes not reflected in makedumpfile.
The Kernel commit 130d4df57390 ("mm/sl[au]b: rearrange struct slab fields to
allow larger rcu_head"), included in Linux 6.2-rc1 and later versions,
introduced a change that aligns the offset of slab.slabs with that of
page.mapping.
However, this modification unintentionally causes the makedumpfile command
with the -d 8 option, meant to exclude user data, to incorrectly exclude
certain slab pages.
Consequently, when utilizing dumpfiles generated in this manner, the "crash"
utility may encounter an error when attempting to initiate a session:
crash: page excluded: kernel virtual address: ffff0000e269d428 type:
"xa_node shift"
[Fix]
An upstream fix is available.
==========
commit 5f17bdd2128998a3eeeb4521d136a192222fadb6
Author: Kazuhito Hagio <[email protected]>
Date: Wed Dec 21 11:06:39 2022 +0900
[PATCH] Fix wrong exclusion of slab pages on Linux 6.2-rc1
==========
[Test Plan]
1. Install the required packages and then proceed to reboot the machine.
# sudo apt install crash linux-crashdump -y
# reboot
2. To check the status of kdump, use the `kdump-config show` command.
# kdump-config show
DUMP_MODE: kdump
USE_KDUMP: 1
KDUMP_COREDIR: /var/crash
crashkernel addr: 0x64000000
/var/lib/kdump/vmlinuz: symbolic link to /boot/vmlinuz-6.2.0-33-generic
kdump initrd:
/var/lib/kdump/initrd.img: symbolic link to
/var/lib/kdump/initrd.img-6.2.0-33-generic
current state: ready to kdump
kexec command:
/sbin/kexec -p --command-line="BOOT_IMAGE=/boot/vmlinuz-6.2.0-33-generic
root=UUID=3e72f5d5-870b-4b8e-9a0d-8ba920391379 ro console=tty1 console=ttyS0
reset_devices systemd.unit=kdump-tools-dump.service nr_cpus=1 irqpoll
usbcore.nousb" --initrd=/var/lib/kdump/initrd.img /var/lib/kdump/vmlinuz
3. To trigger a crash dump forcefully, execute the `echo c | sudo tee
/proc/sysrq-trigger` command.
4. Download the kernel .ddeb file, which will be used for analyzing the dump
file.
# sudo -i
# cd /var/crash
# pull-lp-ddebs linux-image-unsigned-$(uname -r)
# dpkg-deb -x linux-image-unsigned-$(uname -r)-*.ddeb dbgsym-$(uname -r)
5. Utilize the "crash" utility to parse and analyze the dump file.
# crash dbgsym-$(uname -r)/usr/lib/debug/boot/vmlinux-$(uname -r)
XXXX/dump.XXXX
...
please wait... (gathering task table data)
crash: page excluded: kernel virtual address: ffff0000e269d428 type:
"xa_node shift"
[Where problems could occur]
The patch has altered the method for excluding slab pages, aligning with the
structural changes introduced in Linux 6.2-rc1.
This modification is essential for Linux kernel 6.2.
However, it's crucial to note that this change may impact the content of the
dump file, potentially leading to a situation where the "crash" utility is
unable to parse it in the worst-case scenario.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/makedumpfile/+bug/2038248/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp