[Crash-utility] Crash errors when using vtop command on the Linux kernel v6.14-rc1

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

 



Hello all,

I built the Linux kernel version 6.14-rc1 on Fedora 41 and the crash
utility doesn't
work as expected on it. Quickly investigating the issue, the commit below
from last month changes a field in the struct dentry and it seems to
be the reason for the errors I am seeing.

dcache: back inline names with a struct-wrapped array of unsigned long
https://github.com/torvalds/linux/commit/58cf9c383c5c686668082f83f7e0f3e0bd5cc2e3#diff-b11f554b3424c2d794e935f9d5839994f57fc241249928acd57103e2574eb5ccL93

The errors are the following:

crash> vtop -c 1224 0x41400000
VIRTUAL     PHYSICAL
41400000    51144000

   PGD: 24438000 => dfaf067
   PUD: dfaf008 => 109fd067
   PMD: 109fd050 => fc07067
   PTE: fc07000 => 8000000051144867
  PAGE: 51144000

      PTE         PHYSICAL  FLAGS
8000000051144867  51144000  (PRESENT|RW|USER|ACCESSED|DIRTY|NX)

      VMA           START       END     FLAGS FILE

vtop: invalid structure member offset: dentry_d_iname
      FILE: filesys.c  LINE: 3242  FUNCTION: get_pathname_component()

BFD: /usr/bin/crash: unknown type [0x13] section `.relr.dyn'
[/usr/bin/crash] error trace: 556181a34180 => 556181a331c5 =>
556181a76b10 => 556181b4adab
BFD: /usr/bin/crash: unknown type [0x13] section `.relr.dyn'

vtop: invalid structure member offset: dentry_d_iname
      FILE: filesys.c  LINE: 3242  FUNCTION: get_pathname_component()

crash>

I replaced the field name to reflect the change on Linux kernel
6.14-rc1 and it seems to work without any errors, but I am not used to
the crash code base and I didn't check the commit in
details to make sure there aren't more issues affecting it. I'd say
there might be more changes needed to make sure crash works without
errors on newer Linux kernel versions. The command I was using and
resulted in error works fine now, but as I said, there might be
more changes in order to really support the Linux kernel v6.14.

$ sudo ./crash_modified/crash
~/work/kernels/packages/linux_upstream_6.14_rc1/vmlinux

crash 8.0.6++
Copyright (C) 2002-2025  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-2024  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 "x86_64-pc-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"...

      KERNEL: /home/user/work/kernels/packages/linux_upstream_6.14_rc1/vmlinux
    DUMPFILE: /proc/kcore
        CPUS: 4
        DATE: Wed Dec 31 21:00:00 -03 1969
      UPTIME: 07:44:59
LOAD AVERAGE: 0.40, 0.11, 0.03
       TASKS: 306
    NODENAME: fedoraserver41research
     RELEASE: 6.14.0-rc1
     VERSION: #1 SMP PREEMPT_DYNAMIC Wed Feb 12 00:07:46 -03 2025
     MACHINE: x86_64  (2995 Mhz)
      MEMORY: 2 GB
         PID: 47350
     COMMAND: "crash"
        TASK: ffff88801eeb8000  [THREAD_INFO: ffff88801eeb8000]
         CPU: 3
       STATE: TASK_RUNNING (ACTIVE)

crash> vtop -c 1224 0x41400000
VIRTUAL     PHYSICAL
41400000    51144000

   PGD: 24438000 => dfaf067
   PUD: dfaf008 => 109fd067
   PMD: 109fd050 => fc07067
   PTE: fc07000 => 8000000051144867
  PAGE: 51144000

      PTE         PHYSICAL  FLAGS
8000000051144867  51144000  (PRESENT|RW|USER|ACCESSED|DIRTY|NX)

      VMA           START       END     FLAGS FILE
ffff888006b52b00   41400000   42800000 8100073

      PAGE       PHYSICAL      MAPPING       INDEX CNT FLAGS
ffffea0001445100 51144000 ffff88801440f361    41400  1 fffffd0020828
uptodate,lru,owner_2,swapbacked
crash> vtop -c 1224 7f058fbc2000
VIRTUAL     PHYSICAL
7f058fbc2000  3f278000

   PGD: 244387f0 => 8955067
   PUD: 89550b0 => 997b067
   PMD: 997b3e8 => 9b69067
   PTE: 9b69e10 => 800000003f278025
  PAGE: 3f278000

      PTE         PHYSICAL  FLAGS
800000003f278025  3f278000  (PRESENT|USER|ACCESSED|NX)

      VMA           START       END     FLAGS FILE
ffff88800ea17b00 7f058fbc2000 7f058fbc3000 8000071 /usr/lib64/libc.so.6

      PAGE       PHYSICAL      MAPPING       INDEX CNT FLAGS
ffffea0000fc9e00 3f278000 ffff88800bf099c8        0 226 fffffe600426c
referenced,uptodate,lru,workingset,private,head
crash>

The patch:

$ git diff crash/filesys.c crash_modified/filesys.c
diff --git a/crash/filesys.c b/crash_modified/filesys.c
index 406ebb2..4759fa2 100644
--- a/crash/filesys.c
+++ b/crash_modified/filesys.c
@@ -2050,7 +2050,7 @@ vfs_init(void)
        MEMBER_OFFSET_INIT(dentry_d_parent, "dentry", "d_parent");
        MEMBER_OFFSET_INIT(dentry_d_covers, "dentry", "d_covers");
        MEMBER_OFFSET_INIT(dentry_d_name, "dentry", "d_name");
-       MEMBER_OFFSET_INIT(dentry_d_iname, "dentry", "d_iname");
+       MEMBER_OFFSET_INIT(dentry_d_iname, "dentry", "d_shortname");
        MEMBER_OFFSET_INIT(dentry_d_sb, "dentry", "d_sb");
        MEMBER_OFFSET_INIT(inode_i_mode, "inode", "i_mode");
        MEMBER_OFFSET_INIT(inode_i_op, "inode", "i_op");

Nevertheless, I am bringing this issue to the list for the people
responsible for the crash development to implement the proper support
for the Linux kernel v6.14. Thank you.

Regards,

Anderson Nascimento
https://blog.andersonc0d3.io
--
Crash-utility mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxxxxxx
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines: https://github.com/crash-utility/crash/wiki




[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux