[Crash-utility] Re: 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]

 



$ 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_shortname, "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");

Regards,

Anderson Nascimento
https://blog.andersonc0d3.io

Em seg., 17 de fev. de 2025 às 11:52, Anderson Nascimento
<andersonc0d3@xxxxxxxxx> escreveu:
>
> 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