applied: https://github.com/crash-utility/crash/commit/8f1f826e41107fe910e950dfc25f5685f1d33d28
On Tue, Sep 30, 2025 at 5:14 PM Tao Liu <[email protected]> wrote: > > Hi Georges, > > Thanks for the fix, LGTM, ack. > > Thanks, > Tao Liu > > On Fri, Sep 26, 2025 at 11:26 AM Aureau, Georges (Kernel Tools ERT) > <[email protected]> wrote: > > > > Should read "mount | grep tmpfs" (and not "grep /tmp/test"): > > > > crash> mount | grep tmpfs > > ffff9648e7febc00 ffff9648d91ac800 tmpfs tmpfs /tmp/test > > ffff9648c9281380 ffff9648d91ac800 tmpfs tmpfs /tmp/test/ > > ffff9648c8e9a700 ffff9648d91ac800 tmpfs tmpfs / > > > > |-----Original Message----- > > |From: Aureau, Georges (Kernel Tools ERT) > > |Sent: Tuesday, September 23, 2025 10:08 AM > > |To: [email protected] > > |Subject: [PATCH] Fix get_pathname() not handling stacked mounts > > | > > |[PATCH] Fix get_pathname() not handling stacked mounts > > | > > |This get_pathname() issue can be duplicated as follow: > > | > > |sudo mkdir -p /tmp/test > > |sudo mount -t tmpfs tmpfs /tmp/test > > |sudo mount --make-private /tmp/test > > |sudo mount --bind /tmp/test /tmp/test > > |sudo mount --bind /tmp/test /tmp/test > > |sudo mount -o remount,ro /tmp/test > > | > > |$ sudo crash /usr/lib/debug/boot/vmlinux-$(uname -r) > > |crash> mount | grep /tmp/test > > |ffff9648e7febc00 ffff9648d91ac800 tmpfs tmpfs /tmp/test > > |ffff9648c9281380 ffff9648d91ac800 tmpfs tmpfs /tmp/test/ > > |ffff9648c8e9a700 ffff9648d91ac800 tmpfs tmpfs / > > | > > |The last mount is not printed properly, and this is impacting diagnostic > > |when looking at vmcore from complex containers mount environments. > > | > > |Signed-off-by: Georges Aureau <[email protected]> > > |-- > > |diff --git a/filesys.c b/filesys.c > > |index 8d13807..af6d616 100644 > > |--- a/filesys.c > > |+++ b/filesys.c > > |@@ -3140,6 +3154,7 @@ get_pathname(ulong dentry, char *pathname, int > > |length, int full, ulong vfsmnt) > > | tmp_vfsmnt = vfsmnt; > > | > > | do { > > |+ more_vfsmnt: > > | tmp_dentry = parent; > > | > > | dentry_buf = fill_dentry_cache(tmp_dentry); > > |@@ -3195,6 +3210,7 @@ get_pathname(ulong dentry, char *pathname, int > > |length, int full, ulong vfsmnt) > > | break; > > | else > > | tmp_vfsmnt = mnt_parent; > > |+ goto more_vfsmnt; > > | } > > | } else if (VALID_STRUCT(mount)) { > > | if (tmp_vfsmnt) { > > |@@ -3213,6 +3229,7 @@ get_pathname(ulong dentry, char *pathname, int > > |length, int full, ulong vfsmnt) > > | break; > > | else > > | tmp_vfsmnt = mnt_parent + > > |OFFSET(mount_mnt); > > |+ goto more_vfsmnt; > > | } > > | } > > | else { > > |@@ -3222,6 +3239,9 @@ get_pathname(ulong dentry, char *pathname, int > > |length, int full, ulong vfsmnt) > > | } > > | > > | } while (tmp_dentry != parent && parent); > > |+ if (!STREQ(pathname, "/") && LASTCHAR(pathname) == '/') { > > |+ LASTCHAR(pathname) = '\0'; > > |+ } > > | > > | if (mnt_buf) > > | FREEBUF(mnt_buf); > > -- > > Crash-utility mailing list -- [email protected] > > To unsubscribe send an email to [email protected] > > https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/ > > Contribution Guidelines: https://github.com/crash-utility/crash/wiki -- Crash-utility mailing list -- [email protected] To unsubscribe send an email to [email protected] https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/ Contribution Guidelines: https://github.com/crash-utility/crash/wiki
