$ 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