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

Reply via email to